在 Debian 上配置 Tomcat 开机自启,常见且推荐的方式是使用 systemd。下面以 Tomcat 9 为例说明(其他版本类似,只需改路径和版本号)。
/opt/tomcat)JAVA_HOME 路径查看 Java 路径:
which java
# 或
update-alternatives --config java
示例:
/usr/lib/jvm/java-11-openjdk-amd64
为了安全,不建议用 root 运行 Tomcat。
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod +x /opt/tomcat/bin/*.sh
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 -server"
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 必须正确CATALINA_HOME 是 Tomcat 安装目录sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
systemctl status tomcat
浏览器访问:
http://服务器IP:8080
sudo systemctl start tomcat
sudo systemctl stop tomcat
sudo systemctl restart tomcat
sudo systemctl status tomcat
查看日志:
journalctl -u tomcat -xe
或:
less /opt/tomcat/logs/catalina.out
sudo netstat -tunlp | grep 8080
✅ systemd 是标准方式
❌ 不推荐使用 /etc/init.d
如果你愿意,可以告诉我:
我可以给你 完全对应你环境的配置。