在 Linux 系统中配置 Tomcat 自启动有多种方法,以下是常见的几种方案,根据你的系统环境选择适合的方式:
适用于 CentOS 7+/Ubuntu 16.04+
等使用 systemd
的系统。
创建 Tomcat 服务文件
新建文件 /etc/systemd/system/tomcat.service
,内容如下(根据实际路径修改):
[Unit]
Description=Apache Tomcat
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk" # 修改为你的JDK路径
User=tomcat # 建议使用非root用户
Group=tomcat
ExecStart=/opt/tomcat/bin/startup.sh # 修改为你的Tomcat路径
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
设置权限并重载 systemd
chmod 644 /etc/systemd/system/tomcat.service
systemctl daemon-reload
启用自启动并启动服务
systemctl enable tomcat
systemctl start tomcat
验证状态
systemctl status tomcat
适用于 CentOS 6/Ubuntu 14.04
等旧系统。
创建启动脚本
将 Tomcat 的 catalina.sh
链接到 /etc/init.d
:
ln -s /opt/tomcat/bin/catalina.sh /etc/init.d/tomcat
设置开机启动
chkconfig --add tomcat
chkconfig tomcat on
启动服务
service tomcat start
编辑 /etc/rc.local
在文件末尾添加 Tomcat 启动命令(确保文件有执行权限):
/opt/tomcat/bin/startup.sh
赋予执行权限
chmod +x /etc/rc.local
路径修改
替换示例中的 /opt/tomcat
为你的 Tomcat 安装路径,JAVA_HOME
需指向正确的 JDK 目录。
用户权限
建议使用专用用户(如 tomcat
)运行服务,避免 root 权限风险:
useradd -r -s /bin/false tomcat
chown -R tomcat:tomcat /opt/tomcat
日志排查
如果启动失败,检查 Tomcat 日志:
tail -f /opt/tomcat/logs/catalina.out
防火墙
确保防火墙放行 Tomcat 端口(默认 8080
):
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
systemd
(方法1),功能完善且易于管理。init.d
(方法2)。rc.local
仅适合简单测试环境。根据你的系统版本和需求选择对应方法即可。