四、nginx的负载均衡
1、实现效果
(1)浏览器地址栏输入地址 http://119.23.47.237/dev/index.html,负载均衡效果,平均 8080和 8081 端口中
2、准备工作
(1)准备两台 tomcat 服务器,一台 8080,一台 8081
(2)在两台 tomcat 里面 webapps 目录中,创建名称是 dev文件夹,在 dev文件夹中创建
页面 index.html,在8080的dev文件夹一个idnex.html,里面的内容为<h1>8080</h1>,在8081的dev文件夹一个idnex.html,里面的内容为<h1>8081</h1>用于测试
3、在 nginx 的配置文件中进行负载均衡的配置
upstream myserver{ server 119.23.47.237:8080 weight=2; server 119.23.47.237:8081 weight=1; } server { listen 80; server_name 119.23.47.237; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://myserver; root html; index index.html index.htm; } }
访问http://119.23.47.237/dev/index.html可以看到8080出现两次8081出现一次,这是因为使用了权重为2:1
server 119.23.47.237:8080 weight=2;
server 119.23.47.237:8081 weight=1;
nginx 分配服务器策略
第一种 轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
第二种 weight
weight 代表权重默认为 1,权重越高被分配的客户端越多
第三种 ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器
第四种 fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。