准备两台centos7电脑,虚拟机也可以
在windows上利用vmware17 搭建centos7 mini版本服务器-CSDN博客
设置好静态ip地址(因为windows 服务器上的网络负载平衡管理器不支持dhcp的服务器)
ky10、centos7等linux系统修改网卡ip地址,并设置网卡开机自启_kylin配置ip-CSDN博客
搭建keepalived
keepalived安装配置(服务器主备、负载均衡)-CSDN博客
支持四层负载均衡的nginx对版本有要求:需要1.19以上,我这边选择1.25.3进行测试
程序地址如下:
https://gitcode.net/zengliguang/nginx_offline_package.git
通过下面命令进行下载
git clone https://gitcode.net/zengliguang/nginx_offline_package.git
需要先安装git
输入下面命令
yum install -y git
等待安装完成
下载nginx_offline_package脚本,需要将脚本下载到/root根目录下,这样的话后面的安装脚本可以直接使用
编译安装脚本
- cd /root/nginx_offline_package
- source centos7_nginx_online_comp_install.sh
-
- # 关闭防火墙
- systemctl stop fire*
- systemctl disable fire*
等待编译完成
确认是否运行成功
浏览器输入服务器ip
出现下图说明部署成功
centos7_nginx_online_comp_install.sh脚本安装之后的配置文件路径:/usr/local/nginx/conf/nginx.conf
支持四层负载均衡的nginx对版本有要求:需要1.19以上,我这边选择1.20.0进行测试
离线安装包下载,可以选择最新的版本 1.24.0
Index of /packages/rhel/7/x86_64/RPMS/
程序地址如下:
https://gitcode.net/zengliguang/nginx_offline_package.git
通过下面命令进行下载
git clone https://gitcode.net/zengliguang/nginx_offline_package.git
下载nginx_offline_package脚本,需要将脚本下载到/root根目录下,这样的话后面的安装脚本可以直接使用
离线安装脚本
- # todo
- cd /root/nginx_offline_package
- source centos7_nginx_offline_install.sh
-
- # 关闭防火墙
- systemctl stop fire*
- systemctl disable fire*
centos7_nginx_offline_install.sh脚本安装之后的配置文件路径: /etc/nginx/nginx.conf,引用了/etc/nginx/conf.d


我们修改的话可以直接在/etc/nginx/nginx.conf配置文件中需改,不去引用另一个文件
支持四层负载均衡的nginx对版本有要求:需要1.19以上,我这边选择1.25.3进行测试
程序地址如下:
https://gitcode.net/zengliguang/nginx-1.25.3.git
通过下面命令进行下载
git clone https://gitcode.net/zengliguang/nginx-1.25.3.git
双击start.bat运行nginx
双击stop.bat停止nginx
配置文件如下
- stream {
-
- # tcp负载均衡
- upstream agent{
-
- server 192.168.10.85:5000 max_fails=1 fail_timeout=10s;
- server 192.168.10.10:5000 max_fails=1 fail_timeout=10s backup;
-
- }
- server {
- listen 5000;
- proxy_connect_timeout 5s;
- proxy_timeout 10m;
- ###proxy_timeout 24h;
- ###这个参数在使用EMQ压力测试时很有用,刚开始设备的超时时间过段,导致测试一小会儿就出现 {shutdown,connack_timeout}
- proxy_pass agent;
- }
-
- # udp负载均衡, window系统不支持,需要linux系统才支持
- upstream dns_upstreams {
- server 192.168.59.8:30001;
- server 192.168.59.5:30001 backup;
- }
-
- server {
- listen 30001 udp reuseport; #windows不支持;linux是支持的
- proxy_pass dns_upstreams;
- proxy_timeout 1s;
- proxy_responses 1;
- error_log logs/dns.log;
- }
-
-
- }
说明:
如果当前的服务器都处于忙碌状态,没有时间响应新的请求,这时如果配置了备用机.则备用机会承担一部分压力.如果主服务器压力减小,可以正常处理用户请求.则备用机处于等待状态.
配置文件如下
- stream {
-
- # tcp负载均衡
- upstream agent{
-
- server 192.168.10.85:5000 max_fails=60 fail_timeout=60s;
- server 192.168.10.10:5000 max_fails=60 fail_timeout=60s backup;
-
- }
- server {
- listen 5000;
- proxy_connect_timeout 5s;
- proxy_timeout 10m;
- ###proxy_timeout 24h;
- ###这个参数在使用EMQ压力测试时很有用,刚开始设备的超时时间过段,导致测试一小会儿就出现 {shutdown,connack_timeout}
- proxy_pass agent;
- }
-
- }
说明:
监听服务器为nginx服务所在服务器
反向代理到 192.168.10.85:5000 (主服务器)和192.168.10.10:5000(备服务器)
说明:
如果当前的服务器都处于忙碌状态,没有时间响应新的请求,这时如果配置了备用机.则备用机会承担一部分压力.如果主服务器压力减小,可以正常处理用户请求.则备用机处于等待状态.
配置文件如下
- stream {
- # udp负载均衡, window系统不支持,需要linux系统才支持
- upstream dns_upstreams {
- server 192.168.59.8:30001;
- server 192.168.59.5:30001 backup;
- }
-
- server {
- listen 30001 udp reuseport; #windows不支持;linux是支持的
- proxy_pass dns_upstreams;
- proxy_timeout 1s;
- proxy_responses 1;
- error_log logs/dns.log;
- }
-
- }
说明:
监听服务器为nginx服务所在服务器
反向代理到 192.168.59.8:30001 (主服务器)和192.168.59.5:30001(备服务器)
说明:
如果当前的服务器都处于忙碌状态,没有时间响应新的请求,这时如果配置了备用机.则备用机会承担一部分压力.如果主服务器压力减小,可以正常处理用户请求.则备用机处于等待状态.
配置文件如下
- http {
- include mime.types;
- default_type application/octet-stream;
-
- sendfile on;
-
- keepalive_timeout 65;
-
- upstream backend {
- server 192.168.10.85:8082 backup;
- server 192.168.10.10:8082 ;
-
- }
-
-
- server {
- listen 8082;
- server_name localhost;
-
-
- location / {
- proxy_pass http://backend;
- }
-
- # redirect server error pages to the static page /50x.html
- #
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
-
- }
说明:
监听服务器为nginx服务所在服务器
反向代理到 192.168.10.85:8082(备服务器)和192.168.10.10:8082(主服务器)