内网Linux下安装Nginx1.23,添加stream模块实现tcp/udp代理转发

环境:centos7.6

ngx_stream_core_module 这个模块在1.9.0版本后将被启用。但是并不会默认安装,需要在编译时通过指定 --with-stream 参数来激活这个模块,window下并不支持udp协议(支持tcp协议)。

一、下载nginx1.23.0

nginx官网下载nginx1.23.0到本地,拷贝nginx-1.23.0.tar.gz和所需依赖包的rpm文件(放在rpm文件中)到内网LInux下的/root/soft目录中。

二、安装nginx包

1、安装rpm依赖包

yum install pcre pcre-devel openssl openssl-devel zlib zlib-devel gzip gcc gcc-c++ make wget httpd-tools vim --downloadonly --downloaddir=/root/soft/rpm/
拷贝rpm包到内网机器上
rpm -ivh /root/soft/rpm/*.rpm --force --nodeps

2、解压nginx包到/usr/local/目录下

tar -zxvf nginx1.23.0.tar.gz -C /usr/local/

3、添加用户,用户组

groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M

4、新增stream模块,编译与安装nginx

编译nginx,加入stream模块,https模块和状态监控模块一起编译,并指定用户名,用户组
cd /usr/local/nginx1.23.0
./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

5、修改配置文件

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;
        }
}

6.重载nginx

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

7、访问nginx

在浏览器地址栏输入你的Linux虚拟机的静态ip,会跳转到nginx的欢迎页面。

8、将nginx作为服务启动,做开机自启动

cd /usr/lib/systemd/system/
vi nginx.service

[Unit]
Description=nginx
After=network.target
  
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target

启动nginx服务(此时需要先用ps查看nginx进程是否已存在,若已存在,则服务会启动失败。启动服务前必须先将nginx进程kill掉):
pkill -9 nginx
设置开机自启动:
systemctl enable nginx
查看服务状态:
systemctl status nginx

posted @ 2023-01-16 10:43  村尚chun叔  阅读(2711)  评论(0编辑  收藏  举报