系统版本:centos7.8 | tomcat版本:9.0.52
部署多个tomcat如何配置开机自启动
-
应用场景:两个javaweb项目打成war包分别部署在两个tomcat里面,想让项目开机自启动,所以我们需要配置的是tomcat开机自启动,以下为配置步骤
-
配置逻辑:
因为启动tomcat会调用tomcat安装文件中的startup.sh,而它调用了catalina.sh,然后catalina.sh则调用了setclasspath.sh。所以需要在setclaspath.sh中添加JAVA_HOME和JRE_HOME两个环境变量
-
编辑tomcat中的setclasspath.sh文件:
vi /var/local/tomcat1/bin/setclasspath.sh
vi /var/local/tomcat2/bin/setclasspath.sh
-
在 # Set JAVA_HOME or JRE_HOME…节点下边添加javahome:
# ----------------------------------------------------------------------------- # Set JAVA_HOME or JRE_HOME if not already set, ensure any provided settings # are valid and consistent with the selected start-up options and set up the # endorsed directory. # ----------------------------------------------------------------------------- export JAVA_HOME=/usr/java/jdk1.8.0_05 export JRE_HOME=/usr/java/jdk1.8.0_05/jre
注意:路径要写自己的jdk路径
-
在/usr/lib/systemd/system目录下增加tomcat.service文件,内容如下:
[Unit] Description=tomcat After=network.target [Service] Type=oneshot ExecStart=/var/local/tomcat1/bin/startup.sh ExecStart=/var/local/tomcat2/bin/startup.sh ExecStop=/var/local/tomcat1/bin/shutdown.sh ExecStop=/var/local/tomcat2/bin/shutdown.sh ExecReload=/bin/kill -s HUP $MAINPID RemainAfterExit=yes [Install] WantedBy=multi-user.target
-
添加到开机自启动
systemctl enable tomcat
-
重启系统
reboot