实现效果
浏览器地址栏输入地址 http://192.168.2.190/edu/a.html ,将请求平均分发到 8080 和 8081 端口中
具体实现
-
首先启动两台tomcat服务器,一台8080,一台8081
-
在两台 tomcat 里的 webapps 目录中,创建 edu 文件夹,在 edu 文件夹中创建页面 a.html
-
为
nginx.conf
添加负载均衡的配置upstream myserver{ server 192.168.2.190:8080; server 192.168.2.190:8081; } proxy_pass http://myserver;
-
测试成功
Nginx分配服务器策略
-
轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 调,可以自动剔除。
-
weight(权重)
默认为1,权重越高被分配的客户端越多
upstream server_pool{ server 192.168.5.21 weight = 5; server 192.168.5.22 weight = 10; }
-
ip_hash
每个请求按访问ip的hash结果分配,假设第一次访问到了21服务器,则这个访客每一次都会访问21服务器,无法访问到其它服务器,这样每个访客固定访问一个后端服务器,可以解决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; }