CentOS环境下配置Tomcat开机自启动
2025/8/16
CentOS环境下配置Tomcat开机自启动
三种方式
方法一:使用systemd服务(推荐)
推荐,适用于CentOS 7及以上
- 创建systemd服务文件
sudo vi /etc/systemd/system/tomcat.service- 添加以下内容(根据你的Tomcat安装路径调整)
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/java/jdk1.8.0_291
Environment=CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat/latest
Environment=CATALINA_BASE=/opt/tomcat/latest
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target- 设置权限并启用服务
sudo chmod 755 /etc/systemd/system/tomcat.service
sudo systemctl daemon-reload
sudo systemctl enable tomcat
sudo systemctl start tomcat方法二:使用init.d脚本
适用于CentOS 6或兼容性需求
- 创建启动脚本
sudo vi /etc/init.d/tomcat- 添加以下内容
#!/bin/bash
# chkconfig: 2345 20 80
# description: Tomcat server basic start/shutdown script
# Set environment variables
export JAVA_HOME=/usr/java/jdk1.8.0_291
export CATALINA_HOME=/opt/tomcat/latest
case $1 in
start)
$CATALINA_HOME/bin/startup.sh
;;
stop)
$CATALINA_HOME/bin/shutdown.sh
;;
restart)
$CATALINA_HOME/bin/shutdown.sh
sleep 5
$CATALINA_HOME/bin/startup.sh
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0- 设置权限并添加服务
sudo chmod +x /etc/init.d/tomcat
sudo chkconfig --add tomcat
sudo chkconfig tomcat on
sudo service tomcat start方法三:使用rc.local
简单但不推荐生产环境使用
- 编辑rc.local文件
sudo vi /etc/rc.d/rc.local- 添加Tomcat启动命令
#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.8.0_291
/opt/tomcat/latest/bin/startup.sh- 设置权限
sudo chmod +x /etc/rc.d/rc.local注意事项
注意事项
- 路径配置:确保所有路径(JAVA_HOME, CATALINA_HOME等)与你的实际安装路径一致
- 用户权限:建议使用专用用户(如tomcat)运行Tomcat
- 环境变量:根据你的应用需求调整内存设置(Xms, Xmx等)
- 日志查看:
- systemd方式:
journalctl -u tomcat -f - 传统方式:查看Tomcat的logs目录下日志文件
- systemd方式:
验证自启动
重启服务器后检查Tomcat是否自动启动:
sudo reboot
# 重启后检查
ps -ef | grep tomcat
# 或
systemctl status tomcat对于生产环境,推荐使用systemd方式,它提供更好的服务管理和监控功能。
