nginx配置负载均衡+tomcat
了解负载均衡原理后实现具体配置,便于学习
在浏览器地址栏输入http://192.168.111.130/edu/a.html,负载均衡效果,平均到8080和8081端口中
准备两台tomcat服务器,分别监听8080和8081端口
在两台tomcat里面的webapps目录中,分别创建edu文件夹,在edu文件夹中创建页面a.html,用于测试
8080里a.html内容为 8080
8081里a.html内容为 8081便于区分
这一部分在上一篇文章中已经详细做过了。
查看nginx(监听了两个端口 )和两台tomcat是否开启
80 9001 8080 8081 端口
打开nginx的配置文件
vim /usr/local/nginx/conf/nginx.conf
在http块配置负载均衡池
server里也可写为,因为这次试验nginx服务器就是tomcat服务器
加载完成之后 先关闭nginx /usr/local/nginx/sbin
sudo ./nginx -s stop
再启动 sudo ./nginx
可查看端口是否都已监听
sudo netstat -tunlp
测试,默认是监听80端口,浏览器输入192.168.111.130/edu/a.html即可
仅刷新,跳转到tomcat8081
负载均衡的几种算法
1.轮询:按顺序逐一分配,若down掉,自动剔除
upstream myserver {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
2.权重:默认为1,权重越高,分配的客户端越多
upstream myserver {
server 127.0.0.1:8080 weight=5;
server 127.0.0.1:8081 weight=10;
}
3.ip_hash :每个请求按ip的hash的结果分配,每个访客固定访问后端一个服务器,可解决session的问题
upstream myserver {
ip_hash;
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
4.fair :按后端服务器的响应时间
upstream myserver {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
fair;
}