工具及软件
1. centos 7.x (安装在 vm 中) 不会可以百度
2. nginx -1.6.2 不会 请看这里
3. tomcat7 不会请看这里
4. jdk 1.7 不会请看这里
5.工作目录 /mytest 如下
在进行本章前,请确保 已安装好 jdk1.7 tomcat7 nginx-1.6.2
网络拓扑:
2台虚拟机 finder220 (计算机名称 finder220 ip : 192.168.1.220)
finder220上 tomcat 服务器2个
端口分别是 8081 8082
一个 nginx服务器 做负载均衡
finder02 (192.168.1.220)
上 安装 2个 tomcat
端口分别是 8081 8082
配置负载均衡
之前Tomcat我们已经做好了配置,接下来只需要在finder220 nginx中配置即可,配置文件为/usr/local/webserver/nginx/conf/nginx.conf,如下图添加upstream部分,将localtion部分更改为图中部分即可,server可以是其他服务器上的服务,weight越高越容易被分发请求,这里我暂时写本机的,另外实际使用中upstream第一行要加入ip_hash来保证同一用户一次只能访问同一台服务器,解决session跨服务器丢失的问题,如果系统内使用其他方法处理了session的共享问题就不要加了,这个实例中我们就不加入了,因为加入了以后刷新浏览器页面不会变化
开启 finder02 和 finder220 上的2个 4个 tomcat
finder02上执行
# /mytest/tomcat1/bin/startup.sh
# /mytest/tomcat2/bin/startup.sh
finder220上执行
#/mytest/tomcat1/bin/startup.sh
#/mytest/tomcat2/bin/startup.sh
# /usr/local/webserver/nginx/sbin/nginx
接下来可以在实体机的浏览器进行 测试,连续访问虚拟机的nginx
http://192.168.1.220
如上图 四个服务器 轮流 被访问了
至此 负载均衡搭建成功
其他参数:
nginx反向代理配置时,一般会添加下面的配置:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
如果负债均衡是阿里云SLB , 则再配置的时候也需要选择上 X-Forwarded 等参数。
tomcat 上需要配置
<Engine name="Catalina" defaultHost="localhost">
这行之后
<Valve className="org.apache.catalina.valves.RemoteIpValve"
remoteIpHeader="X-Forwarded-For"
protocolHeader="X-Forwarded-Proto"
protocolHeaderHttpsValue="https"/>
参考 :
详细文章: https://blog.csdn.net/xyang81/article/details/51702900