centos下安装nginx1.16.1,添加stream模块实现tcp/udp代理转发

目录

1.下载nginx
2.新增stream模块,编译与安装nginx
3.修改配置文件
4.重载nginx

摘要

ngx_stream_core_module 这个模块在1.9.0版本后将被启用。但是并不会默认安装,需要在编译时通过指定 --with-stream 参数来激活这个模块。本人在安装的时候也遇到过很多坑,初次是在window下安装nginx1.16.1实现tcp/udp的代理转发,但是发现window下并不支持udp协议(支持tcp协议),然后转向centos下安装nginx。这次详细的、简单易懂的安装记录希望对大家有帮助。

1.下载nginx1.16.1

#下载nginx1.16.1
wget http://nginx.org/download/nginx-1.16.1.tar.gz

#安装编译依赖包
yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel

#解压并移动文件夹到/usr/local下
tar -zxvf nginx-1.16.1.tar.gz
mv -t /usr/local/ nginx-1.16.1 
cd nginx-1.16.1

#添加用户,用户组
groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M

2.新增stream模块,编译与安装nginx

#编译nginx,加入stream模块,https模块和状态监控模块一起编译,并指定用户名,用户组
 ./configure --with-stream --with-stream_ssl_module --with-http_stub_status_module --user=nginx --group=nginx

#执行编译,安装
make && make install

#查看nginx版本以及新增模块
cd /usr/local/nginx/sbin
./nginx -V

在这里插入图片描述

3.修改配置文件

#进入配置文件
 vi/usr/local/nginx/conf/nginx.conf
 
#修改配置,支持tcp/udp的stream模块配置和http的配置属于同级
stream {                  
        server {  
          #添加udp,表示监听12345端口,向192.168.1.100:3306发送udp包       
          listen 12345 udp;         
          proxy_pass 192.168.1.100:3306;
        }
        server {
          #不添加默认为tcp协议,表示监听12346端口,向192.168.1.101:3306发送tcp包 
          listen 12346;              
          proxy_pass 192.168.9.101.3:3306;
        }
}

4.重载nginx

/usr/local/nginx/sbin/nginx -s reload
报错1

nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)

解决方法:
logs目录没有nginx.pid文件,使用指定nginx.conf文件的方式重启nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
报错2

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
解决方法:
查看端口:

netstat -ntlp

杀掉80端口对应的进程

kill 94005

在这里插入图片描述
再次重启

/usr/local/nginx/sbin/nginx -s reload

访问nginx
在浏览器地址栏输入你的Linux虚拟机的静态ip,会跳转到nginx的欢迎页面。
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值