[转帖]使用Nginx转发TCP/UDP数据

使用Nginx转发TCP/UDP数据

 
https://www.cnblogs.com/guigujun/p/8075620.html

 

编译安装Nginx

从1.9.0开始,nginx就支持对TCP的转发,而到了1.9.13时,UDP转发也支持了。提供此功能的模块为ngx_stream_core。不过Nginx默认没有开启此模块,因此须要手动安装html

1
2
3
4
5
6
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安装,默认配置文件)mysql

/usr/local/nginx/conf/nginx.conf配置以下:nginx

复制代码
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;
  proxy_pass 127.0.0.1:3306;
 
  4# 也支持socket
  4# proxy_pass unix:/var/lib/mysql/mysql.socket;
  }
}
复制代码

 

 

UDP转发

目标: 发送UDP数据到3000端口,3001端口能够接收sql

/usr/local/nginx/conf/nginx.conf配置以下:socket

复制代码
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;
 
  }
}
复制代码

 

不要让懒惰占据你的大脑,不让要妥协拖跨你的人生。青春就是一张票,能不能遇上时代的快车,你的步伐掌握在你的脚下,good luck
相关文章
相关标签/搜索