在 Debian 上让 Tomcat 开机自启动,常见有三种方式,取决于你用的 Tomcat 版本 和 系统初始化方式(systemd / init.d)。下面按最推荐的方式讲。
/opt/tomcat/usr/lib/jvm/java-11-openjdk-amd64tomcatuseradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
chown -R tomcat:tomcat /opt/tomcat
nano /etc/systemd/system/tomcat.service
内容示例(按实际情况修改):
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment=CATALINA_OPTS=-Xms512M -Xmx1024M
Environment=JAVA_OPTS=-Djava.awt.headless=true
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
systemctl daemon-reload
systemctl enable tomcat
systemctl start tomcat
systemctl status tomcat
如果你用的是 非常老的 Debian(≤7):
update-rc.d tomcat defaults
或直接软链接:
ln -s /opt/tomcat/bin/catalina.sh /etc/init.d/tomcat
update-rc.d tomcat enable
如果是通过 apt 安装:
apt install tomcat9
Debian 会自动:
查看状态:
systemctl status tomcat9
✅ 端口被占用(默认 8080)
✅ JAVA_HOME 配置错误
✅ 权限不足(必须用非 root 用户运行)
如果你愿意,可以告诉我:
我可以给你完全匹配你环境的配置。