在 Debian 上让 Tomcat 开机自启动,常见有几种方式,取决于你安装的 Tomcat 形式(系统包还是二进制包)以及 Debian 版本(用 systemd 还是 sysvinit)。现在绝大多数 Debian 都用 systemd,下面以 systemd 为主说明。
例如:
sudo apt install tomcat9
这种方式自带 systemd 服务,直接启用即可:
sudo systemctl enable tomcat9
sudo systemctl start tomcat9
查看状态:
systemctl status tomcat9
假设你安装在:
/opt/tomcat
sudo 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
⚠️ 注意:
JAVA_HOME要改成你实际的 JDK 路径- 建议创建专门的
tomcat用户,不要直接用 root
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
sudo chown -R tomcat:tomcat /opt/tomcat
sudo systemctl daemon-reload
sudo systemctl enable tomcat
sudo systemctl start tomcat
systemctl status tomcat
开机后会自动启动。
如果是非常老的 Debian:
sudo update-rc.d tomcat defaults
或使用:
sudo chkconfig tomcat on
journalctl -xe
/opt/tomcat/logs/catalina.out
sudo netstat -tlnp | grep 8080
编辑:
/opt/tomcat/conf/server.xml
如果你愿意,可以告诉我:
cat /etc/os-release)我可以给你完全贴合你环境的配置。