最近生产环境上线后,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的反向代理起了作用。