454.upstream_module 和健康检测

ngx_http_upstream_module 是负载均衡模块,可以实现网站的负载均衡功能即节点的健康检查,upstream 模块允许 Nginx 定义一组或多组节点服务器组,使用时可通过 proxy_pass 代理方式把网站的请求发送到事先定义好的对应 Upstream 组 的名字上。

upstream 模块 内参数 参数说明
weight 服务器权重
max_fails Nginx 尝试连接后端主机失败的此时,这是值是配合 proxy_next_upstream、fastcgi_next_upstream 和 memcached_next_upstream 这三个参数来使用的。当 Nginx接收后端服务器返回这三个参数定义的状态码时,会将这个请求转发给正常工作的的后端服务器。如 404、503、503,max_files=1
fail_timeout max_fails 和 fail_timeout 一般会关联使用,如果某台 server 在 fail_timeout 时间内出现了max_fails 次连接失败,那么 Nginx 会认为其已经挂掉,从而在 fail_timeout 时间内不再去请求它,fail_timeout 默认是 10s,max_fails 默认是 1,即默认情况只要是发生错误就认为服务器挂了,如果将 max_fails 设置为 0,则表示取消这项检查
backup 表示当前 server 是备用服务器,只有其它非 backup 后端服务器都挂掉了或很忙才会分配请求给它down 标志服务器永远不可用,可配合 ip_hash 使用
upstream lvsServer{
 server 191.168.1.11 weight=5 ;
 server 191.168.1.22:82;
 server example.com:8080 max_fails=2 fail_timeout=10s backup;
 #域名的话需要解析的哦,内网记得 hosts
}