• nginx四层tcp负载均衡及主备、四层udp负载均衡及主备、7层http负载均衡及主备配置(wndows系统主备、负载均衡)


    准备工作

    准备两台centos7电脑,虚拟机也可以

    在windows上利用vmware17 搭建centos7 mini版本服务器-CSDN博客

    设置好静态ip地址(因为windows 服务器上的网络负载平衡管理器不支持dhcp的服务器)

    ky10、centos7等linux系统修改网卡ip地址,并设置网卡开机自启_kylin配置ip-CSDN博客

    搭建keepalived

    keepalived安装配置(服务器主备、负载均衡)-CSDN博客

    主备拓扑

     

    centos7系统nginx编译安装

    支持四层负载均衡的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根目录下,这样的话后面的安装脚本可以直接使用

    编译安装脚本

    1. cd /root/nginx_offline_package
    2. source centos7_nginx_online_comp_install.sh
    3. # 关闭防火墙
    4. systemctl stop fire*
    5. systemctl disable fire*

    等待编译完成

     确认是否运行成功

    浏览器输入服务器ip

    出现下图说明部署成功

    centos7_nginx_online_comp_install.sh脚本安装之后的配置文件路径:/usr/local/nginx/conf/nginx.conf

    centos7系统离线安装

    支持四层负载均衡的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根目录下,这样的话后面的安装脚本可以直接使用

    离线安装脚本

    1. # todo
    2. cd /root/nginx_offline_package
    3. source centos7_nginx_offline_install.sh
    4. # 关闭防火墙
    5. systemctl stop fire*
    6. systemctl disable fire*

    centos7_nginx_offline_install.sh脚本安装之后的配置文件路径: /etc/nginx/nginx.conf,引用了/etc/nginx/conf.d

     我们修改的话可以直接在/etc/nginx/nginx.conf配置文件中需改,不去引用另一个文件

    windows系统nginx下载、安装、运行

    支持四层负载均衡的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

    四层tcp、udp负载均衡及主备配置

    配置文件如下

    1. stream {
    2. # tcp负载均衡
    3. upstream agent{
    4. server 192.168.10.85:5000 max_fails=1 fail_timeout=10s;
    5. server 192.168.10.10:5000 max_fails=1 fail_timeout=10s backup;
    6. }
    7. server {
    8. listen 5000;
    9. proxy_connect_timeout 5s;
    10. proxy_timeout 10m;
    11. ###proxy_timeout 24h;
    12. ###这个参数在使用EMQ压力测试时很有用,刚开始设备的超时时间过段,导致测试一小会儿就出现 {shutdown,connack_timeout}
    13. proxy_pass agent;
    14. }
    15. # udp负载均衡, window系统不支持,需要linux系统才支持
    16. upstream dns_upstreams {
    17. server 192.168.59.8:30001;
    18. server 192.168.59.5:30001 backup;
    19. }
    20. server {
    21. listen 30001 udp reuseport; #windows不支持;linux是支持的
    22. proxy_pass dns_upstreams;
    23. proxy_timeout 1s;
    24. proxy_responses 1;
    25. error_log logs/dns.log;
    26. }
    27. }

    四层tcp负载均衡及主备配置

    主备配置

    说明:

    如果当前的服务器都处于忙碌状态,没有时间响应新的请求,这时如果配置了备用机.则备用机会承担一部分压力.如果主服务器压力减小,可以正常处理用户请求.则备用机处于等待状态.

    配置文件如下

    1. stream {
    2. # tcp负载均衡
    3. upstream agent{
    4. server 192.168.10.85:5000 max_fails=60 fail_timeout=60s;
    5. server 192.168.10.10:5000 max_fails=60 fail_timeout=60s backup;
    6. }
    7. server {
    8. listen 5000;
    9. proxy_connect_timeout 5s;
    10. proxy_timeout 10m;
    11. ###proxy_timeout 24h;
    12. ###这个参数在使用EMQ压力测试时很有用,刚开始设备的超时时间过段,导致测试一小会儿就出现 {shutdown,connack_timeout}
    13. proxy_pass agent;
    14. }
    15. }

    说明:

    监听服务器为nginx服务所在服务器

    反向代理到 192.168.10.85:5000 (主服务器)和192.168.10.10:5000(备服务器)

    四层udp负载均衡及主备配置

    主备配置

    说明:

    如果当前的服务器都处于忙碌状态,没有时间响应新的请求,这时如果配置了备用机.则备用机会承担一部分压力.如果主服务器压力减小,可以正常处理用户请求.则备用机处于等待状态.

    配置文件如下

    1. stream {
    2. # udp负载均衡, window系统不支持,需要linux系统才支持
    3. upstream dns_upstreams {
    4. server 192.168.59.8:30001;
    5. server 192.168.59.5:30001 backup;
    6. }
    7. server {
    8. listen 30001 udp reuseport; #windows不支持;linux是支持的
    9. proxy_pass dns_upstreams;
    10. proxy_timeout 1s;
    11. proxy_responses 1;
    12. error_log logs/dns.log;
    13. }
    14. }

    说明:

    监听服务器为nginx服务所在服务器

    反向代理到 192.168.59.8:30001 (主服务器)和192.168.59.5:30001(备服务器)

    7层http负载均衡及主备配置

    主备配置

    说明:

    如果当前的服务器都处于忙碌状态,没有时间响应新的请求,这时如果配置了备用机.则备用机会承担一部分压力.如果主服务器压力减小,可以正常处理用户请求.则备用机处于等待状态.

    配置文件如下

    1. http {
    2. include mime.types;
    3. default_type application/octet-stream;
    4. sendfile on;
    5. keepalive_timeout 65;
    6. upstream backend {
    7. server 192.168.10.85:8082 backup;
    8. server 192.168.10.10:8082 ;
    9. }
    10. server {
    11. listen 8082;
    12. server_name localhost;
    13. location / {
    14. proxy_pass http://backend;
    15. }
    16. # redirect server error pages to the static page /50x.html
    17. #
    18. error_page 500 502 503 504 /50x.html;
    19. location = /50x.html {
    20. root html;
    21. }
    22. }

    说明:

    监听服务器为nginx服务所在服务器

    反向代理到 192.168.10.85:8082(备服务器)和192.168.10.10:8082(主服务器)

  • 相关阅读:
    ZJU-199001 第三周练习 2 数字特征值 位运算算法
    iwebsec--代码执行漏洞
    5个精美的wordpress中文企业主题模板
    QA素质模型和知识等级分类
    深度优先搜索和广度优先搜索
    教你如何制作vue+springboot项目
    A. Prefix Sum Primes
    F1值(F-Measure)、准确率(Precision)、召回率(Recall) 菜鸡版理解
    2022 极术通讯-Arm 虚拟硬件加速物联网软件开发
    计算机毕业设计选题推荐-智慧学生宿舍管理系统-Python项目实战
  • 原文地址:https://blog.csdn.net/zengliguang/article/details/134381558