当前位置 : 主页 > 编程语言 > 其它开发 >

Nginx反向代理、负载均衡、故障转移

来源:互联网 收集:自由互联 发布时间:2022-05-30
nginx下载官网:http://nginx.org/en/download.html nginx帮助文档:http://nginx.org/en/docs/ 一、负载均衡 nginx的配置文件默认路径在 /etc/nginx/nginx.conf 1、轮询(默认) 在http节点下添加如下配置,然后重

nginx下载官网:http://nginx.org/en/download.html

nginx帮助文档:http://nginx.org/en/docs/

 

一、负载均衡

nginx的配置文件默认路径在 /etc/nginx/nginx.conf

 1、轮询(默认)

在http节点下添加如下配置,然后重启nginx服务即可

 server {
        # 监听端口默认是80
        listen 80;

        # 服务器ip或域名
        server_name 192.168.140.130;
         location / {
             # 反向代理
             proxy_pass http://xiaohemiao;

         }
    }

    upstream xiaohemiao {
        
        server 192.168.140.130:7777; # 应用端口7777
        server 192.168.140.130:8888; # 应用端口8888
    }
2、ip_hash一致性算法

保证每个访客固定访问一个后端服务器

在upstream节点添加如下配置即可

upstream xiaohemiao {
        ip_hash;
        server 192.168.140.130:7777; # 应用端口7777
        server 192.168.140.130:8888; # 应用端口8888
    }
3、least_conn最小活跃数算法

把请求转发给连接数较少的后端服务器,配置如下

upstream xiaohemiao {
       least_conn;
        server 192.168.140.130:7777; # 应用端口7777
        server 192.168.140.130:8888; # 应用端口8888
    }
4、weight权重
upstream xiaohemiao {

        server 192.168.140.130:7777 weight=5; # 应用端口7777
        server 192.168.140.130:8888 weight=20; # 应用端口8888
    }
二、故障转移
  • fail_timeout:与max_fails结合使用
  • max_fails:设置在fail_timeout参数设置的时间内最大失败次数,如果在这个时间内,所有针对该服务器的请求都失败了,那么认为该服务器会被认为是停机了
  • fail_time:服务器被认为停机的时间长度,默认为10s
  • backup:标记该服务器为备用服务器,当主服务停止时,请求会被发送到这台服务器
 upstream xiaohemiao {

        server 192.168.140.130:7777 max_fails=2 fail_timeout=10s; # 应用端口7777
        server 192.168.140.130:8888; # 应用端口8888
        server 192.168.140.130:9999 backup; #备机,当7777、8888应用都宕机之后会自动转移请求到9999端口上
    }

 

网友评论