温馨提示×

debian中tomcat如何自启

小樊
36
2026-10-15 05:40:47
栏目: 智能运维

在 Debian 中让 Tomcat 开机自启动,常见有以下几种方式,取决于你使用的 Debian 版本 和 Tomcat 安装方式。


一、使用 systemd(推荐,Debian 8+)

1️⃣ 创建 systemd 服务文件

假设:

  • Tomcat 目录:/opt/tomcat
  • Java 目录:/usr/lib/jvm/java-11-openjdk-amd64
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
Restart=on-failure

[Install]
WantedBy=multi-user.target

2️⃣ 创建 tomcat 用户(如果没有)

sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
sudo chown -R tomcat:tomcat /opt/tomcat

3️⃣ 重载并启用自启

sudo systemctl daemon-reload
sudo systemctl enable tomcat
sudo systemctl start tomcat

✅ 开机自动启动完成


二、使用 Debian 自带包安装(apt)

如果你是用:

sudo apt install tomcat9

那已经自动配置好自启:

sudo systemctl enable tomcat9
sudo systemctl start tomcat9

三、旧方式(sysvinit / rc.local,不推荐)

编辑 rc.local

sudo nano /etc/rc.local

添加:

/opt/tomcat/bin/startup.sh

并确保:

chmod +x /etc/rc.local

⚠️ 仅适用于非常老的 Debian


四、验证是否开机自启

systemctl is-enabled tomcat
# 输出 enabled 表示成功

重启测试:

sudo reboot

五、常见问题

❌ 启动失败

查看日志:

journalctl -u tomcat

❌ 端口被占用

ss -lntp | grep 8080

如果你告诉我:

  • Debian 版本
  • Tomcat 版本
  • 安装方式(源码 / apt)

我可以给你完全匹配的配置示例 ✅

0 踩