简介
如何支持TCP
nginx支持tcp转发,在1.9.0版本及之后版本中提供,涉及核心模块:ngx_stream_core_modul。nginx若要使用该功能,需要在nginx编译时,带上–with-stream配置参数以启用他。nginx tcp模块 conf 结构:
stream {
# 目标服务器
upstream {
}
# 监听路由
server {
}
}
1. 转发案例
nginx转发redis案例
- redis安装在
192.168.41.128
,端口为6379。现在我们需要在主机上直接通过localhost:3333访问 - 完整配置文件
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
stream {
upstream redis_proxy {
server 192.168.41.128:6379;
}
server {
listen 3333;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass redis_proxy;
}
}
http {
}
- 解析
upstream
中填写我们的目标redis地址server
中填写我们本地需要监听的端口3333
,转发适配器proxy_pass
指定目标为我们upstream
中配置的redis_proxy
2. 连接测试
127.0.0.1:3333
测试连接
![在这里插入图片描述](https://img-blog.csdnimg.cn/6af3225f6e634a14a2a50497c1827c72.png)
- 连接成功
![在这里插入图片描述](https://img-blog.csdnimg.cn/d774a839ab2840efba0d59e9bf9526ef.png)