1.下载最新 nginx
wget http://nginx.org/download/nginx-1.16.1.tar.gz
2.安装依赖包
apt install openssl libssl-dev
apt install zlib1g zlib1g.dev
3.编译安装 nginx
编译时添加 tcp 代理模块
./configure --with-stream --with-http_v2_module --with-http_ssl_module --with-http_sub_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre
安装
make && make install
4.配置 nginx.conf
去掉 http 模块配置,新增 tcp 代理配置
stream {
server {
listen 6666;
proxy_pass proxy_3333;
}
# 两个服务节点
upstream proxy_3333 {
server 127.0.0.1:3333;
server 127.0.0.1:5555;
}
}
5.启动 nginx
./nginx
6.使用 netcat 模拟 tcp 服务端和客户端进行 tcp 测试
启动一个服务端,这个是上面配置的服务节点。
nc -l 3333
新启动一个客户端,它连接上 nginx 的负载均衡服务,nginx 监听的端口为 6666。
nc 127.0.0.1 6666
此时,可以看到客户端发送的任何信息,服务端节点都能正常获取到
服务节点:
客户端: