Nginx 4层负载均衡测试

本文介绍如何在 CentOS 7 上安装 Nginx 1.9 并配置 TCP 层转发。通过手动添加 stream 模块,实现基于 tcp 的 socket 通信。文章详细记录了安装过程、配置文件修改及测试步骤。

安装过程

测试环境 CentOS7

Nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信。
stream模块默认不安装的,需要手动添加参数:–with-stream,官方下载地址:download,根据自己系统版本选择nginx1.9或以上版本。

首先安装Nginx

wget http://nginx.org/download/nginx-1.2.4.tar.gz
wget https://github.com/yaoweibin/nginx_tcp_proxy_module/tarball/master
tar xvf nginx-1.2.4.tar.gz
tar xvf master
cd nginx-1.2.4
yum -y install patch
yum -y install pcre-devel
yum install -y zlib-devel
yum -y install openssl openssl-devel
patch -p1 <  ../yaoweibin-nginx_tcp_proxy_module-121c026/tcp.patch
yum -y install gcc
./configure --add-module=/root/yaoweibin-nginx_tcp_proxy_module-121c026  这里要使用实际的地址
make
make install

修改配置文件

cd /usr/local/nginx/conf
vim nginx.conf
#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}
tcp{
        upstream test1 {
                server 192.10.200.203:9999;
                server 192.10.200.111:9999;
        }
        server {
                listen 9999 so_keepalive=on;
               # server_name 192.10.200.94;
                proxy_pass test1;
                
		        so_keepalive on;  
		        proxy_connect_timeout 4s;
        		proxy_timeout 65s;
		        tcp_nodelay on;  
        }
}

参数说明

  • interval nginx服务器检测server是否存活的时间间隔,短连接。
    在windows下有些指令不支持:
#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}
stream{
        upstream test1 {
                server 192.10.200.203:9999;
                server 192.10.200.111:9999;type=tcp;
        }
        server {
                listen 9999;
                proxy_pass test1;
        }
}

启动nginx

cd /usr/local/nginx/sbin/
./nginx
lsof -i :9999
# 重启命令
./nginx -s reload
# 指定conf地址
./nginx -c /usr/local/nginx/conf/nginx.conf

这里写图片描述

测试

共有3台机器参与测试:

  • 192.10.200.94 安装nginx
  • 192.10.200.203 监听9999TCP端口
  • 192.10.200.111 监听9999TCP端口

建立连接并发送:
这里写图片描述

在/usr/local/nginx/logs/tcp_access.log
可以看到连接日志。
在连接不中断的情况下,TCP连接会一直连接到固定的服务端。
这里写图片描述

本文参考文章 :
http://yaoweibin.github.io/nginx_tcp_proxy_module/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI星球

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值