一、确认 Tomcat 安装方式和JAVA_HOME
一般路径:
/opt/tomcat
/usr/bin/java 只是一个软链接,不是 JAVA_HOME。
执行:
readlink -f /usr/bin/java
一般会返回类似:
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
那么:
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
注意:必须去掉 /bin/java
二、创建专用运行用户(推荐)
生产环境不要用 root 运行。
sudo useradd -r -m -U -d /opt/tomcat8 -s /bin/false tomcat
sudo chown -R tomcat:tomcat /opt/tomcat8
三、创建 systemd 服务文件(完整最终版)
sudo nano /etc/systemd/system/tomcat8.service
把下面完整复制进去:
[Unit]
Description=Apache Tomcat 8
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64"
Environment="CATALINA_PID=/opt/tomcat8/temp/tomcat.pid"
Environment="CATALINA_HOME=/opt/tomcat8"
Environment="CATALINA_BASE=/opt/tomcat8"
ExecStart=/opt/tomcat8/bin/startup.sh
ExecStop=/opt/tomcat8/bin/shutdown.sh
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
把 JAVA_HOME 改成你刚才查到的真实路径
五、加载并启动
sudo systemctl daemon-reload
sudo systemctl start tomcat8
sudo systemctl enable tomcat8
六、测试状态
sudo systemctl status tomcat8
七、以后管理命令
启动:
sudo systemctl start tomcat8
停止:
sudo systemctl stop tomcat8
重启:
sudo systemctl restart tomcat8
查看日志:
journalctl -u tomcat8 -f