部署Nginx+Tomcat负载均衡集群

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署Nginx+Tomcat负载均衡集群相关的知识,希望对你有一定的参考价值。

  • Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应html(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
    因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
  • nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强

  • 下面将讲解以Nginx为负载均衡器,Tomcat为应用服务器的负载集群的设置方法
  • 本次的实验服务器系统为 CentOS 7
  • 环境包:pcre-devel zlib-devel openssl-devel gcc gcc-c++
  • Nginx :192.168.10.130/24 (安装包nginx-1.6.0)
  • Tomcat1:192.168.10.128/24 (jdk-8u91-linux-x64.、apache-tomcat-8.5.16)
  • Tomcat2:192.168.10.129/24 (jdk-8u91-linux-x64.、apache-tomcat-8.5.16)
    如图:
    技术分享图片
    * 首先配置安装 2台Tomcat服务器的 :Java环境和Tomcat

    # systemctl stop firewalld.service  //关闭防火墙
    # setenforce 0
    # mkdir /gx | mount.cifs //192.168.10.1/gx /gx      //挂载共享文件
    # tar zxvf /gx/jdk-8u91-linux-x64.tar.gz -C /opt
    # mv /opt/jdk1.8.0_91/ /usr/local/java   
    # vim /etc/profile.d/java.sh
     export JAVA_HOME=/usr/local/java          //设置Java根目录//
     export PATH=$PATH:$JAVA_HOME/bin          //在PATH环境变量中添加Java根目录下的bin/子目录//
    
    # source /etc/profile.d/java.sh        //java.sh脚本导入到环境变量,使其生效//
    # java -version            //查看版本//

    技术分享图片

.

  • 安装Tomcat

    # tar zxvf /gx/apache-tomcat-8.5.16.tar.gz -C /opt/
    # mv /opt/apache-tomcat-8.5.16/ /usr/local/tomcat8
    # /usr/local/tomcat8/bin/startup.sh               //启动tomcat//
    # netstat -ntap | grep 8080                  //监听8080端口//
    # /usr/local/tomcat8/bin/shutdown.sh           //关闭tomcat//
  • 添加测试页面
  • Tomcat 1 输出http://www.test1.com (方便测试)
  • Tomcat 2 输出 http://www.test2.com

        # mkdir -pv /web/webapp1             //创建web目录//
        # vim /web/webapp1/index.jsp         //创建测试页面
       <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
     <html>
         <head>
        <title>JSP test1 page</title>
         </head>
         <body>
                 <% out.println("Welcome to test site,http://www.test1.com");%>  
         </body>
     </html>

    .

  • 在Tomcat的配置文件里添加web目录

    # vim /usr/local/tomcat8/conf/server.xml
     <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">
                //在该行下面添加↓↓↓//
    <Context docBase="/web/webapp1" path="" reloadable="false">
    </Context>    
    
    # /usr/local/tomcat8/bin/startup.sh               //启动tomcat//

    技术分享图片

  • 安装配置Nginx

    # systemctl stop firewalld.service  //关闭防火墙
    # setenforce 0
    # yum install pcre-devel zlib-devel openssl-devel gcc gcc-c++ -y
    # useradd  -s /bin/false www
    # tar zxvf /gx/nginx-1.6.0.tar.gz -C /opt
    # cd /opt/nginx-1.6.0/
    # ./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 
    
    # make && make install    //安装编译安装

    .

    # vim /usr/local/nginx/conf/nginx.conf
        #gzip  on;
     //在该行下面添加两台Tomcat的地址端口↓↓↓
        upstream tomcat_server {                            
                            server 192.168.10.128:8080 weight=1;
                            server 192.168.10.129:8080 weight=1;    
                        }                   
            server {
                listen       80;
             .....
    location / {
                        root   html;
                        index  index.html index.htm;
                             // 在该行下面添加↓↓↓//
                        proxy_pass http://tomcat_server;       
                }       

技术分享图片技术分享图片
.

# /usr/local/nginx/sbin/nginx -t                  //检测是否成功//
# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  
# nginx     //启用nginx服务//
  • 测试下负载均衡
  • 在浏览器输入 192.168.10.130 连续刷新后可以在该地址分别看到 http://www.test1.com 和http://www.test2.com 就是部署成功。
    技术分享图片技术分享图片

以上是关于部署Nginx+Tomcat负载均衡集群的主要内容,如果未能解决你的问题,请参考以下文章

Nginx+Tomcat 部署负载均衡集群

Tomcat之Nginx+Tomcat实现负载均衡动静分离集群部署

图文详解 配置Nginx+Tomcat负载均衡动静分离集群

Nginx + Tomcat 反向代理 负载均衡 集群 部署指南

Nginx+Tomcat负载均衡集群

基于Docker部署 Tomcat集群 Nginx负载均衡