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的反向代理起了作用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM