项目环境: CentOS 7.9 , 宝塔面板, nginx1.21
stream {
upstream sftp{
hash $remote_addr consistent;
server 127.0.0.1:12000; # springboot项目中设置的socket服务器ip和端口保持一致
}
server {
listen 13000; # 此端口不能和nginx配置文件中http的监听端口一样, 也不能和项目中设置的端口一样, 需要单独设置监听的端口
proxy_connect_timeout 300s;
proxy_timeout 300s;
proxy_pass sftp;
}
}
上方代码需要和events模块同级
[root@dkukd ~]# yum install -y nc
安装好后,开启一个监听服务 命令如下:
nc -lk 12000
1. nginx必须1.19以上
2. nginx必须安装了stream模块, "nginx -V"查看nginx安装了哪些模块,如果没有安装需要安装一下, 安装stream模块自行百度
3. 在宝塔中安装的nginx1.21是有stream模块的,不需要操心stream模块的事
[root@VM-centos ~]# nginx -V
nginx version: nginx/1.21.4
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.1.1m 14 Dec 2021
TLS SNI support enabled
configure arguments: --add-module=/www/server/nginx/src/lua_nginx_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module