温馨提示×

怎样设Debian Tomcat自启

小樊
50
2026-09-15 15:57:21
栏目: 智能运维

在 Debian 上让 Tomcat 开机自启动,常见有三种方式,取决于你的 Debian 版本和 Tomcat 安装方式。下面按推荐程度说明。


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

1. 假设条件

  • Tomcat 解压在:/opt/tomcat
  • Java 已安装(如 /usr/lib/jvm/java-11-openjdk-amd64
  • 运行用户为 tomcat

2. 创建用户(如已存在可跳过)

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

3. 创建 systemd 服务文件

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

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

4. 重载并启用

systemctl daemon-reload
systemctl enable tomcat
systemctl start tomcat

查看状态:

systemctl status tomcat

二、使用 Debian 官方包(apt 安装 Tomcat)

如果你是:

apt install tomcat9

那它默认就已经开机自启了。

管理命令:

systemctl enable tomcat9
systemctl start tomcat9

三、旧方式(不推荐):rc.local

仅适用于非常老的 Debian(无 systemd):

nano /etc/rc.local

添加:

/opt/tomcat/bin/startup.sh

并确保:

chmod +x /etc/rc.local

常见问题

  • 端口被占用:检查 8080 是否被占用
  • 权限错误:确保 CATALINA_BASE 目录属主是 tomcat
  • JAVA_HOME 不对:用 update-alternatives --list java 查路径

如果你愿意,可以告诉我:

  • Debian 版本
  • Tomcat 版本
  • 是 tar 包还是 apt 安装

我可以给你一份完全匹配你环境的配置

0