nginx负载均衡
nginx负载均衡Tomcat集群
1.首先在两个服务器分别启动Tomcat,保证两个Tomcat都可以访问
2.修改nginx配置文件
在server内添加(myservers是我随便取的名称,后面会用到,VMI是我的项目名)
location /VMI {
proxy_pass http://myservers;
}
在server外配置Tomcat地址(myservers要和前面的名称一致)
upstream myservers {
server 192.168.164.134:8080;
server 192.168.164.135:8080;
}
3.开启nginx
进入nginx/sbin目录下启动
cd /usr/local/nginx/sbin/
./nginx -c /usr/local/nginx/conf/nginx.conf
4.测试
访问你的Nginx
可以看到Nginx已经反向代理了我们的服务器
负载均衡策略
1.轮循(默认)
upstream myservers {
server 192.168.164.134:8080;
server 192.168.164.135:8080;
}
2.权重
按照设置的比例分配服务
upstream myservers {
server 192.168.164.134:8080 weight=1;
server 192.168.164.135:8080 weight=2;
}
3.最少连接数
upstream myservers {
least_conn
server 192.168.164.134:8080;
server 192.168.164.135:8080;
}
以上策略都会存在session丢失问题
4.ip_hash(ip不变就会每次都访问同一个服务器session就不会改变)
访问服务器=ip的hash值 % 服务器数量 (这里不同的ip可能会访问同一个服务器)
upstream myservers {
ip_hash
server 192.168.164.134:8080;
server 192.168.164.135:8080;
}
备份服务器(热部署)
upstream myservers {
server 192.168.164.134:8080;
server 192.168.164.135:8080;
server 192.168.164.136:8080 backup;
}
当所有服务器都宕机后,备份服务器才会启动,只会在部署项目时使用。(首先更新备份服务器的代码,然后关闭一半普通服务进行代码更新,然后再关闭剩余一半服务器的的时候重启已经更新的服务器,在这一瞬间才会使用备份服务器)