在http中写 upstream 后边加上自己定义的名字, 然后列出要负载均衡的服务和端口即可
在location 中 proxy_pass后边写上自己定义的服务名字
upstream myserver {
server xx.xx.xx.23:8080;
server xx.xx.xx.23:8081;
}
server {
listen 80;
server_name xx.xx.xx.23;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
proxy_pass http://myserver;
index index.html index.htm;
}
Nginx负载均衡分配服务器的策略
- 轮询模式(默认):每个请求按照时间顺序逐一分配给不同的后台服务器, 如果后台服务器down掉, 能自动剔除
- 权重模式, 给每一个后台服务器分配一个权重, 权重越大, 配分配的客户端越多
upstream myserver {
server xx.xx.xx.23:8080 weight=5;
server xx.xx.xx.23:8081 weight=10;
}
- ip_hash模式 , 每个请求按照访问的ip的hash结果来分配, 如果你的ip是xxx, 你第一次访问了第一台服务器, 那么以后你的这个ip就访问第一个服务器。
upstream myserver {
ip_hash;
server xx.xx.xx.23:8080;
server xx.xx.xx.23:8081;
}
- fair模式, 按照后台服务器响应时间来分配, 相应越快,就去分配
upstream myserver {
server xx.xx.xx.23:8080;
server xx.xx.xx.23:8081;
fair;
}