通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下,所以我们需要一套更可靠的解决方案来完善Web站点架构。
Nginx是一款非常优秀的http服务器软件,它能够支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存、CPU等系统资源消耗非常低。目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,来提升整个站点的负载并发能力。


本次实验以Nginx作为负载均衡器,Tomcat作为应用服务器的负载集群,此实验使用VMware虚拟机,服务器及客户端PC网卡均设置为NAT模式,网站拓扑架构,IP地址如下图所示:
部署Nginx+Tomcat负载均衡群集_第1张图片
部署Nginx+Tomcat负载均衡群集_第2张图片
Tomcat服务器1配置:
1、所需压缩包从宿主机共享挂载至虚拟机服务器中使用,将Java环境包jdk解压至/opt目录下,为方便系统识别管理,移动至/usr/local/目录下并重命名为java
部署Nginx+Tomcat负载均衡群集_第3张图片
部署Nginx+Tomcat负载均衡群集
2、转到/etc/profile.d/目录下,新建java.sh脚本
部署Nginx+Tomcat负载均衡群集
脚本内容如下:
部署Nginx+Tomcat负载均衡群集
将脚本导入环境变量
部署Nginx+Tomcat负载均衡群集
3、同样解压Tomcat软件包至/opt,移动至/usr/local/目录下命名为tomcat8
部署Nginx+Tomcat负载均衡群集
部署Nginx+Tomcat负载均衡群集
4、启动Tomcat
部署Nginx+Tomcat负载均衡群集
5、关闭防火墙和安全功能后使用客户端访问测试
部署Nginx+Tomcat负载均衡群集_第4张图片
部署Nginx+Tomcat负载均衡群集_第5张图片
6、加入测试页面,首先创建站点目录,新建首页文件
部署Nginx+Tomcat负载均衡群集
首页文件内容
部署Nginx+Tomcat负载均衡群集_第6张图片
7、编辑Tomcat主配置文件,插入如下标签,添加站点目录
部署Nginx+Tomcat负载均衡群集
部署Nginx+Tomcat负载均衡群集
重新启动Tomcat后再用客户端访问测试
部署Nginx+Tomcat负载均衡群集_第7张图片
8、Tomcat服务器2配置和1除首页文件内容外其他相同
Tomcat服务器2首页文件内容如下
部署Nginx+Tomcat负载均衡群集_第8张图片
客户端访问测试
部署Nginx+Tomcat负载均衡群集_第9张图片
9、Nginx服务器配置
按照前面博客https://blog.51cto.com/13641879/2132857 搭建Nginx,配置代码使用如下代码
./configure \
--prefix=/usr/local/nginx \
--user=www \
--group=www \
--with-file-aio \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_flv_module \
--with-http_ssl_module
部署Nginx+Tomcat负载均衡群集_第10张图片
10、搭建完成后编辑Nginx主配置文件
部署Nginx+Tomcat负载均衡群集
添加如下内容
部署Nginx+Tomcat负载均衡群集_第11张图片
11、启动Nginx
部署Nginx+Tomcat负载均衡群集
12、使用客户端访问Nginx服务器地址测试
部署Nginx+Tomcat负载均衡群集_第12张图片
刷新
部署Nginx+Tomcat负载均衡群集_第13张图片
每刷新一次则更换一个Tomcat服务器提供服务,此操作称之为轮询,由此实现负载均衡。