在 CentOS 系统中,可以使用 systemd 或 cron 来实现 Tomcat 的自动重启。这里分别介绍这两种方法:
sudo vi /etc/systemd/system/tomcat.service
<User>, <Group>, <CATALINA_HOME> 和 <ExecStart> 参数:[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
保存并退出文件。
重新加载 systemd 配置:
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
sudo systemctl status tomcat
sudo crontab -e
<User>, <CATALINA_HOME> 和重启间隔(例如:每天凌晨 3 点重启):0 3 * * * <User>/opt/tomcat/bin/shutdown.sh && <User>/opt/tomcat/bin/startup.sh
这样,无论是使用 systemd 还是 cron,Tomcat 都会在指定的时间或条件下自动重启。请确保根据实际情况修改配置文件中的路径和参数。