首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用Nginx转发TCP/UDP数据

使用Nginx转发TCP/UDP数据

作者头像
程序员同行者
发布2018-07-02 17:18:04
发布2018-07-02 17:18:04
7.5K00
代码可运行
举报
文章被收录于专栏:程序员同行者程序员同行者
运行总次数:0
代码可运行

编译安装Nginx

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

代码语言:javascript
代码运行次数:0
运行
复制
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配置如下:

代码语言:javascript
代码运行次数:0
运行
复制
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端口可以接收

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

代码语言:javascript
代码运行次数:0
运行
复制
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;
 
  }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-12-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编译安装Nginx
  • 配置Nginx
    • TCP转发
    • UDP转发
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档