一.前言
Stream模块是Nginx的一个核心模块,它提供了一种处理TCP和UDP流量的方式。它可以将传入的TCP或UDP流量代理到后端服务器,实现负载均衡和反向代理的功能。它可以根据自定义的规则将流量转发到不同的后端服务器,实现高可用性和性能优化.
二.安装stream
nginx从1.9.0版本开始,新增了ngx_stream_core_module模块,需要编译的时候添加--with-stream,使其支持stream代理。
查看下NGINX的版本,如果版本支持,就可以安装stream 模块
bash
./nginx -V
./configure--with-stream
如果版本不支持,则需要重新下载一个支持的版本处理并安装。
一台服务器可以装多个nginx,只要每次执行的路径不一样
值得注意的是,安装完之后,两个nginx的监听端口要设置成不同的监听端口。否则,会有一个nginx无法启动。
bash
tar -zvxf nginx-1.20.2.tar.gz
其中--prefix选项是配置安装目录,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,
./configure --with-stream 这边我就不用这个路径执行了,怕有冲突
./configure --prefix=/home/zk/nginx/nginx-1.20.2 --with-stream
make
make install
./nginx -v 查看安装stream 是否成功
三.Stream模块运用
bash
stream {
#include tcp.d/*.conf;
upstream tcpssh{
hash $remote_addr consistent;
server 192.16.12.19:1521 max_fails=3 fail_timeout=10s;
}
server{
listen 9901;
proxy_connect_timeout 20s;
proxy_timeout 3600s;
proxy_pass tcpssh;
#允许192.16网段使用
allow 192.16.0.0/16;
deny all;
}
}