在 Debian 上让 Tomcat 开机自启动,常见做法有几种,取决于你安装的 Tomcat 方式(包安装 or 二进制解压)以及 Debian 版本(systemd 还是 init.d)。现在主流是 systemd,下面以最推荐的方式说明。
/opt/tomcat
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
sudo chown -R tomcat:tomcat /opt/tomcat
sudo nano /etc/systemd/system/tomcat.service
内容示例(Tomcat 9):
[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
⚠️ 注意:
JAVA_HOME改成你实际的 JDK 路径- Tomcat 10 同理,目录改一下即可
sudo systemctl daemon-reload
sudo systemctl enable tomcat
sudo systemctl start tomcat
systemctl status tomcat
sudo apt install tomcat9
Debian 会自动创建 systemd 服务,直接启用即可:
sudo systemctl enable tomcat9
sudo systemctl start tomcat9
如果你用的是很老的 Debian:
sudo ln -s /opt/tomcat/bin/catalina.sh /etc/init.d/tomcat
update-rc.d tomcat defaults
✅ 自启不生效
enable 了?journalctl -u tomcat如果你告诉我:
我可以给你完全匹配的配置。