主要模块是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做负载均衡配置,转载请注明来源!
