使用Nginx转发TCP/UDP数据

编译安装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 {
  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配置如下:

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏idba

浅析interactive_timeout和wait_timeout

这篇文章之前发布过,但是结论有误,因为公众号只能修改几个错别字,不能修改文章结论,故重新发布一次,修正之前的结论。

1363
来自专栏破晓之歌

网页显示3D模型 原

中文网教程:http://www.hewebgl.com/article/articledir/1

1725
来自专栏性能与架构

nginx负载均衡的健康检查

如果服务器组内有机器出现问题,nginx就不再向其转发请求了,那么nginx如何知道某台服务器是否能正常? 这就需要nginx对每台服务器进行健康检查 检查的方...

3947
来自专栏Python、Flask、Django

我博客图片存在哪里的?

1404
来自专栏电光石火

mysqldump: Got error: 2003: Can't connect to MySQL server on '127.0.0.1' (10060)

今天在用批处理进行MySQL自动备份的过程中遇到一个问题,错误提示:mysqldump: Got error: 2003: Can't connect to m...

2925
来自专栏IT可乐

Maven详解(六)------ 生命周期

1、什么是 生命周期?   Maven 强大的原因是有一个十分完善的生命周期,生命周期可以理解为项目构建步骤的集合,它定义了各个构建环节的执行顺序,有了这个顺序...

2178
来自专栏网络和编程

DHCP地址分配流程简述

学技术的,经常会被问到,xxx是什么?我们经常会回答,xxx不就是那啥啥啥嘛,嗯..

3295
来自专栏iKcamp

基于Koa2搭建Node.js实战项目教学(含视频)☞ 环境准备

文章 Koa 起手 - 环境准备 由于 koa2 已经开始使用 async/await 等新语法,所以请保证 node 环境在 7.6 版本以上。 安装node...

60910
来自专栏IT可乐

Hadoop 2.7 伪分布式环境搭建

1、安装环境 ①、一台Linux CentOS6.7 系统   hostname                ipaddress              ...

2357
来自专栏令仔很忙

Nginx反向代理

客户端访问数据的时候,不会直接与目标服务器进行连接,而是所有的请求都发送到代理(Proxy)服务器,然后代理服务器会去根据你的请求去访问相应的服务器,并最终返...

3972

扫码关注云+社区

领取腾讯云代金券