Nginx的负载均衡配置实例
实现效果
浏览器访问相同URL地址,页面的内容不同(访问到不同的服务器)。
准备条件
- tomact1 端口 8081
- tomact2 端口 8082
- 两个tomact的webapps下都有文件 **/loadBlance/test.html **
- 建议两个 html 文件内容不同,便于观察效果
配置Nginx流程
1.在Nginx的配置文件 nginx.conf 的 http 中增加内容
upstream myserver {
server localhost:8081;
server localhost:8082;
}
server {
listen 10000;
server_name localhost;
location / {
proxy_pass http://myserver;
root html;
index index.html index.htm;
}
}
2.重启Nginx服务
cd 至 sbin 目录下,执行 ./nginx -s reload
3.到浏览器进行测试
在浏览器地址栏输入: http://ip:10000/loadBlance/test.html
并重复刷新页面,可以看到效果(页面显示不同内容)
Nginx的负载均衡策略
1.轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动删除。
2. weight(权重)
weight 代表权重,默认为1,权重越高,被分配的客户端请求越多。weight和访问比率成正比,用于后端服务器性能不均的情况。配置如下:
upstream myserver {
server localhost:8081 weight=5;
server localhost:8082 weight=10;
}
3. ip_hash(IP哈希)
每个请求访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决sessiono的问题。
配置如下:
upstream myserver {
ip_hash;
server localhost:8081;
server localhost:8082;
}
4.fair (第三方)
按后端服务器的相应时间来分配请求,响应时间短的优先分配。配置如下:
upstream myserver {
fair;
server localhost:8081;
server localhost:8082;
}