nginx+tomcat双机热备

最近生产环境上线后,tomcat有时会莫名其妙的宕机,重启后又好了。

服务挂了之后,客户体验非常不好。

试着做下双机热备。

下面是今天在本地环境虚拟机操作的步骤如下:

1. 环境,我本地装的是VMworkstation + CentOS7。

2. 在网上下载一个tomcat压缩包(apache-tomcat-8.5.31,命令省略)并解压,放在/root/shejava/tomcat 路径下。

3. cp -rf tomcat/. tomcat002/ 复制一份tomcat。

4. 要想在一台机器上同时启动两个tomcat,需要修改配置文件:

   A. 进入/etc目录,vi profile文件,添加如下内容:

      CATALINA_BASE=/root/shejava/tomcat/apache-tomcat-8.5.31
      CATALINA_HOME=/root/shejava/tomcat/apache-tomcat-8.5.31
      TOMCAT_HOME=/root/shejava/tomcat/apache-tomcat-8.5.31
      export CATALINA_BASE CATALINA_HOME TOMCAT_HOME

      CATALINA_BASE_002=/root/shejava/tomcat002/apache-tomcat-8.5.31
      CATALINA_HOME_002=/root/shejava/tomcat002/apache-tomcat-8.5.31
      TOMCAT_HOME_002=/root/shejava/tomcat002/apache-tomcat-8.5.31
      export CATALINA_BASE_002 CATALINA_HOME_002 TOMCAT_HOME_002

   B. 进入tomcat002/apache-tomcat-8.5.31/conf目录,vi  catalina.properties,添加如下内容:

       export CATALINA_BASE=$CATALINA_BASE_002
       export CATALINA_HOME=$CATALINA_HOME_002

   C. 进入tomcat002/apache-tomcat-8.5.31/conf目录,vi server.xml,修改如下内容:

       <Server port="9005" shutdown="SHUTDOWN">                               原来是 8005  改为 9005
 
       <Connector port="9009" protocol="AJP/1.3" redirectPort="8443" /> 原来是 8009  改为 9009
 
       <Connector port="8092" protocol="HTTP/1.1"                                  原来是 8080  改为 8092 
             connectionTimeout="20000"                                                          
             redirectPort="8443" />

    D. 进入tomcat/apache-tomcat-8.5.31/conf目录,vi server.xml,修改如下内容:

         <Connector port="8091" protocol="HTTP/1.1"                                原来是 8080 改为 8091 
             connectionTimeout="20000"                                                          
             redirectPort="8443" />

    E. 启动两个tomcat

5. 安装nginx

    A. yum search nginx 搜索
    B. yum install nginx  安装
    C. 安装完毕后进入配置文件:/etc/nginx/nginx.conf
        在server前面加:
        upstream mynginx {
             server 192.168.232.150:8091;
             server 192.168.232.150:8092 backup;
        }
 
     location下添加:
        location / {
             proxy_pass http://mynginx;
        }

       D. 启动nginx:nginx -c /etc/nginx/nginx.conf

       

6. 访问192.168.232.150(虚拟机ip,默认监听的是80端口,所以后面不需要加端口号),

    发现连接的服务是192.168.232.150:8091。

    当把tomcat目录(8091)下的服务停掉,你会发现服务会自动从8091切换到8092。

    就是nginx的反向代理起了作用。

猜你喜欢

转载自www.cnblogs.com/jylsgup/p/9201833.html