(1)实现效果
浏览器中输入http://192.168.236.129/edu/a.html
负载均衡效果
平均分担到8080和8081端口中。
(2)准备工作
准备两台tomcat服务器:tomcat8080和tomcat8081
在两台tomcat服务器的webapps目录中都创建名称是edu的文件夹
文件夹中创建a.html,用于测试,内容不同,分别是。
I am 8080和I am 8081
(3)配置nginx
#cd /etc/nginx/
#vi nginx.conf
http块中进行更改
(3-1)添加upstream,自定义一个名字myserver,后面要用
upstream myserver {
server 192.168.236.129:8080;
server 192.168.236.129:8081;
}
(3-2)location中使用myserver
server {
listen 80;
server_name 192.168.236.129;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://myserver;
}
}
(4)启动测试
#nginx -s reload
[root@myname nginx]# curl http://myname/edu/a.html
I am 8081
[root@myname nginx]# curl http://myname/edu/a.htmlI am 8080
(5)nginx提供了几种分配方式(策略)
(5-1)轮询(默认):每个请求按时间顺序,逐一分配到后端服务器中。
upstream myserver {
server 192.168.236.129:8080;
server 192.168.236.129:8081;
}
(5-2)weight权重方式:
weight代表权重,默认为1,权重越高被分配的客户端越多。
用于后端服务器性能不均的情况。
upstream myserver {
server 192.168.236.129:8080 weight=5;
server 192.168.236.129:8081 weight=10;
}
(5-3)ip_hash方式:
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream myserver {
ip_hash;
server 192.168.236.129:8080;
server 192.168.236.129:8081;
}
再例如
upstream server_pool {
ip_hash;
server 192.168.236.129:80;
server 192.168.236.130:80;
}
(5-4)fair(第三方)方式:
按后端服务器的响应时间分配请求,响应时间短的优先分配。
upstream server_pool {
server 192.168.236.129:80;
server 192.168.236.130:80;
fair;
}