使用Nginx轉發TCP/UDP數據
阿新 • • 發佈:2017-12-20
fig inf wget color 使用 not 訪問 usr cti
編譯安裝Nginx
從1.9.0開始,nginx就支持對TCP的轉發,而到了1.9.13時,UDP轉發也支持了。提供此功能的模塊為ngx_stream_core。不過Nginx默認沒有開啟此模塊,所以需要手動安裝
cd /usr/local/src wget http://nginx.org/download/nginx-1.12.1.tar.gz tar zxf nginx-1.12.1.tar.gz cd nginx-1.12.1 ./configure --prefix=/usr/local/nginx --with-stream make && make install
配置Nginx
TCP轉發
目標:通過3000端口訪問本機Mysql(其中mysql使用yum安裝,默認配置文件)
/usr/local/nginx/conf/nginx.conf
配置如下:
user nobody; worker_processes auto; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { use epoll; worker_connections 1024; } stream { server { listen3000; proxy_pass 127.0.0.1:3306; 4# 也支持socket 4# proxy_pass unix:/var/lib/mysql/mysql.socket; } }
UDP轉發
目標: 發送UDP數據到3000端口,3001端口可以接收
/usr/local/nginx/conf/nginx.conf
配置如下:
user nobody; worker_processes auto; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { use epoll; worker_connections 1024; } stream { server { listen 3000 udp; proxy_pass 127.0.0.1:3001; } }
使用Nginx轉發TCP/UDP數據