最近生產環境上線后,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,修改如下內容:
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
server 192.168.232.150:8091;
server 192.168.232.150:8092 backup;
}
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的反向代理起了作用。