操作系统: CentOS6.5 JDK软件版本:jdk1.7.0_65 Tomcat软件版本:apache-tomcat-7.0.54
案例环境:拓扑图和案例环境
一、在对应的服务器上分别安装Nginx和Tomcat
1.Nginx的安装方法大家可以参考:Nginx的源码安装
2.Tomcat的安装方法大家可以参考:Tomcat的安装与配置
注意:如果防火墙没有关闭的朋友,在安装完成之后,分别在对应的服务器上创建防火墙规则
Nginx服务器上防火墙规则
Tomcat服务器上防火墙规则
二、配置Nginx服务器反向代理两个Tomcat站点并实现负载均衡
1.修改Nginx的配置文件nginx.conf
第一是在“http {}”界定中添加配置项upstream
这里说一下“weight”,其含义就是权重的意思,如果tomcat服务器权重数值越大,则“.jsp”的请求分配到该服务器的概率越大,生产环境中要看哪台tomcat服务器的性能好,性能好的可以权重大一些,也就是让性能好的服务器处理的请求多一些,这里为了比较测试效果就设置为一样了。
第二是在“http {}”界定的子界定“server {}”中添加新的“location / {}”
2.修改好配置文件后重启nginx服务
3.分别在两台tomcat服务器上创建测试页,为了更加直观的显示负载均衡效果,第一台tomcat服务器测试页内容为“tomcat-1”,第二台tomcat服务器测试页内容为“tomcat-2”
第一台Tomcat服务器测试页
第二台Tomcat服务器测试页
4.访问测试页,查看反向代理和负载均衡效果
首先访问Nginx测试页:192.168.100.100,我们看到可以正常浏览Nginx的测试页
然后访问以“.jsp”结尾的测试页:192.168.100.100/index.jsp,我们可以看到Nginx服务器反向代理了Tomcat站点,这里显示的是第一台Tomcat服务器测试页
最后在当前页面做刷新操作:“F5”,可以看到页面自动变成了第二台Tomcat的测试页
这样就实现了Nginx + Tomcat的负载均衡集群