负载均衡配置示例
准备
启动两个tomcat , 端口分别为 8080 , 8081, 启动nginx 80端口 ,
(资源有限, 以上部署在一个虚拟机上 , ip都相同)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-glH1Qp9j-1638195824833)(D:\document\prinotes\images\image-20211129205609355.png)]](https://img-blog.csdnimg.cn/8b5b1dc35782472c9b37137aad3e6622.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA56m65peg5aSa5pyJ,size_20,color_FFFFFF,t_70,g_se,x_16)
现在要实现我访问192.168.33.129:80/balancedemo/test.html 的时候 均衡负载在 2个tomcat的服务上 .
配置
在http块中配置如下:
upstream balanceserver{
server 192.168.33.129:8080;
server 192.168.33.129:8081;
}
server {
listen 80;
server_name 192.168.33.129;
location / {
proxy_pass http://balanceserver;
proxy_connect_timeout 10;
}
}
含义就是 当我访问 192.168.33.129:80 的时候按轮询(默认)的方式分别负载在了 192.168.33.129:8080 和 192.168.33.129:8081 上.
改完执行 ./nginx -s reload 重新加载配置文件.
效果
效果如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z2Lidpnm-1638195824834)(D:\document\prinotes\images\image-20211129210550678.png)]](https://img-blog.csdnimg.cn/9ba43509a073422eb0c7766a7b4bd80f.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA56m65peg5aSa5pyJ,size_20,color_FFFFFF,t_70,g_se,x_16)
由于是轮询的方式, 所以 在点击刷新时 8080和8081会交替出现.
负载均衡策略
轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
weight
weight 代表权,重默认为 1,权重越高被分配的客户端越多 指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。 例如:
upstream server_pool{
server 192.168.5.21 weight=10;
server 192.168.5.22 weight=10;
}
ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。
例如:
upstream server_pool{
ip_hash;
server 192.168.5.21:80;
server 192.168.5.22:80;
}
fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优
upstream server_pool{
server 192.168.5.21:80;
server 192.168.5.22:80;
fair
}
|