主要模块是ngx_http_upstream_module
举个列子:
upstream backend { server backend1.example.com weight=5; server backend2.example.com:8080; server unix:/tmp/backend3; server backup1.example.com:8080 backup; server backup2.example.com:8080 backup; } server { location / { proxy_pass http://backend; } } #语法:upstream name{...} #默认:-- #包含在上下文:http #描述:这个指令定义一组服务器,可以监听不同的端口,另外,还可以混合监听 tcp 和uinx-domain 套接字比如 <pre>upstream backend { server backend1.example.com weight=5; server 127.0.0.1:8080 max_fails=3 fail_timeout=30s; server unix:/tmp/backend3; server backup1.example.com backup; } #默认情况下,请求分发服务器之间使用加权循环平衡方法,参考上面的列子,如果有7次请求,5次会去到backend1.example.com 剩下的分别会去第二组,获第三组服务器上,如果一个错误发生在通信服务器,请求将被传递到下一个服务器,等等,直到将传完所有的功能服务器 主站点的配置 http{ upstream php_server{ server 192.168.3.223:81 weight=5 max_fails=2 fail_timeout=30s; server 192.168.3.224:82 max_fails=2 fail_timeout=30s; } server { listen 80; server_name www.load.com; location / { proxy_pass http://php_server; proxy_set_header Host www.load.com; proxy_set_header X-Forwarded-For $remote_addr; } } }
原文链接:nginx,upstream做负载均衡配置,转载请注明来源!