案例概述: 通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下,所以我们需要一套更可靠的解决方案来完善Web站点架构。 Nginx是一款非常优秀的http服务器软件,它能够支持高达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存、CPU等系统资源消耗非常低。目前很多大型网站都应用Nginx服务器作为后端网站程序的反向代理及负载均衡器,来提升整个站点的负载并发能力。 本案例将讲解Nginx作为负载均衡器,Tomcat作为应用服务器的负载集群的设置方法。网站拓扑架构如图所示: 实验环境表: 实施步骤: 一、在Centos7-2虚拟机上配置java环境 1.解压jdk安装包到/opt/目录下 2.把解压后的jdk安装包移动到/usr/local/目录下并且重命名为java 3.切换到/etc/profile.d/目录中创建java.sh脚本 cd /etc/profile.d/ vim java.sh 4.将java.sh脚本导入到环境变量,使其生效。 source java.sh 5.查看版本信息 6.解压tomcat安装包到/opt/目录下 7.把解压后的tomcat安装包移动到/usr/local/目录下并且重命名为tomcat8 8.启动tomcat,关闭防火墙。 9.Tomcat默认运行在8080端口,运行netstat命令可查看8080端口监听的信息。 10.打开浏览器访问测试http://192.168.126.145 :8080/,如果出现如图所示界面,则表示Tomcat已经配置启动成功。 二、加入测试页面 1.在根目录下建立一个web目录,并在里面建立一个webapp1目录,用于存放网站文件。 2.在webapp1目录下建立一个index.jsp的测试页面 vim /web/webapp1/index.jsp 3.修改Tomcat的server.xml文件。定义一个虚拟主机,并将网站文件路径指向已经建立的/web/webapp1,在host段增加context段。 4.关闭Tomcat,再重新启动。 5.通过浏览器访问http://192.168.126. :8080/,出现如图所示界面,说明该Tomcat站点已经配置成功,并且已经能够运行JSP。 Centos7-3虚拟机的配置与Centos7-2虚拟机的配置一样,这里不再赘述。 test2 三、在Centos7-1上进行Nginx服务器配置 1.安装相关软件包 2.创建用户 3.解压并安装Nginx make && make install 4.配置nginx.conf vim /usr/local/nginx/conf/nginx.conf ①在http {...}中加入以下代码,设定负载均衡的服务器列表,weight参数表示权值,权值越高被分配到的概率越大。为了使测试效果比较明显,把权重设为一样。 ②在location站点下添加调用服务池 5.测试Nginx配置文件是否正确 6.启动Nginx服务,查看端口号及PID进程号。 7.关闭防火墙 8.测试负载均衡效果 ①在客户机上打开浏览器访问http://192.168.126. /。 ②不断刷新浏览器测试,可以看到由于权重相同,页面会反复在以下两个页面间来回切换。 第一次访问,出现test1的测试页面,如图所示。刷新后,第二次访问,出现test2的测试页面,如图所示。说明负载均衡集群搭建成功,已经可以在两个Tomcat server站点间进行切换。 test1测试界面 test2测试界面