今天来记录一下nginx做负载均衡的具体内容。
主要就是配置 nginx.conf文件
upstream youyou.com {
ip_hash;
server localhost:81 weight=4 max_fails=2 fail_timeout=600s;
server localhost:82 weight=6 max_fails=2 fail_timeout=600s;
}
server {
listen 8080;
server_name localhost;
location / {
proxy_pass http://youyou.com;
proxy_connect_timeout 2s;
}
}
通过上边的配置就可以实现负载均衡的配置
博主亲测可用
nginx的监听端口为8080,并且会将请求转发到 localhost:81和localhost:82这两个服务中,
weight(权重)
可以根据实际情况进行设置实例中会有40%的请求被分配到 localhost:81处理,有60%的请求会分配到 localhost:82处理
proxy_connect_timeout(连接超时时间)
连接服务器的超时时间,当请求分配给一台服务器去处理,如果超过规定时间(实例中为2秒)没有返回认为连接失败,则会将请求分配给其他服务器。
max_fails(最大失败数)、fail_timeout(失败后等待时间)
如果连接服务器失败次数达到max_fails设置的的次数,将认为服务器宕机,在规定的时间内(fail_timeout)nginx不会再将请求发向该服务器。
参考文档