案例概述

通常情况下,一个Tomcat站点由于可能出现单点故障及无法应付过多客户复杂多样的请求等问题,不能单独应用于生产环境下,所以需要一套更可靠的解决方案来完善web站点架构。

nginx是一款优秀的http服务器软件,它能够支持多达50000个并发连接数的响应,拥有强大的静态资源处理能力,运行稳定,并且内存,CPU等系统资源消耗非常低。目前有很多大型网站都应用nginx作为后端网站程序的反向代理及负载均衡。

本案例我们将已nginx作为负载均衡器,反向代理,tomcat作为节点服务器。

CentOS 7 实现Nginx+Tomcat 负载均衡_第1张图片

 

实验目标

实现负载均衡

 

实验环境

        主机    操作系统       IP地址
    nginx服务器    Linux 7   192.168.100.201
  Tomcat 1服务器    Linux 7   192.168.100.202
  Tomcat 2服务器    Linux 7   192.168.100.221

关闭防火墙、安全性

 

实验步骤

一、nginx服务器配置

1.安装nginx步骤详见https://blog.51cto.com/13760351/2160042

2.修改配置文件

[root@localhost conf]# vim nginx.conf

#keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    upstream tomcat_server {                            #添加
              server 192.168.100.201:8080 weight=1;
              server 192.168.100.221:8080 weight=1;   
            }

    server {
        listen       80;
.....省略
location / {
            root   html;
            index  index.html index.htm;
            proxy_pass
http://tomcat_server;         #添加
        }

 

3.测试配置文件

[root@localhost ~]#/usr/local/nginx/sbin/nginx -t        //检测是否成功//
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

4.启动nginx服务

[root@localhost ~]# systemctl start nginx

 

二、Tomcat1  server配置

1.安装Tomcat服务步骤详见https://blog.51cto.com/13760351/2160828

 

2.修改主配置文件

[root@localhost ~]# mkdir -pv /web/webapp1            #创建web目录

[root@localhost ~]# vim /web/webapp1/index.jsp

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


  JSP test1 page


  <% out.println("Welcome to test site,
http://www.test1.com");%>   #这里是站点内容,Tomcat2可改变一下

 

3.修改Tomcat的server.xml文件

[root@localhost ~]# vim /usr/local/tomcat7/conf/server.xml

            unpackWARs="true" autoDeploy="true">

#添加

                                       #添加


4.重启Tomcat

[root@localhost ~]# /usr/local/tomcat7/bin/shutdown.sh  #关闭Tomcat

[root@localhost ~]# /usr/local/tomcat7/bin/startup.sh   #启动Tomcat

 

三、Tomcat2  server配置与Tomcat1基本相同。

不同处: <% out.println("Welcome to test site,http://www.test2.com");%>  #站点内容

 

四、测试负载均衡效果

CentOS 7 实现Nginx+Tomcat 负载均衡_第2张图片

CentOS 7 实现Nginx+Tomcat 负载均衡_第3张图片