当前位置: 代码迷 >> 综合 >> Nginx端口转发(替代rinetd)
  详细解决方案

Nginx端口转发(替代rinetd)

热度:21   发布时间:2024-01-26 08:42:56.0

在生产环境中使用rinetd做端口,连续碰到数次莫名的进程关闭和假死情况,原因还没有深究。使用Nginx替换后,再没有出现过此类情况。

从1.9.0开始,nginx支持TCP转发,1.9.13开始支持UDP转发。提供此功能的模块为ngx_stream_core。不过Nginx默认没有开启此模块,所以需要手动安装。

目录

1、编译

2、配置:

1)单节点转发

2)负载转发


1、编译Nginx,增加--with-stream

如果需要功能最小化,只保留转发模块,可禁用http模块

tar zxf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --prefix=/opt/nginx --with-stream --without-http
make && make install

2、配置Stream节点

1)单节点转发

stream {server {listen 10008;proxy_connect_timeout 5s;proxy_timeout 20s;proxy_pass 192.168.1.78:8181;}}

2)负载转发

stream {upstream backend1 {server 192.168.1.78:8181;server 192.168.1.79:8181;}server {listen 10008;proxy_connect_timeout 5s;proxy_timeout 20s;proxy_pass backend1;}}

 

  相关解决方案