温馨提示×

debian tomcat如何设开机启动

小樊
35
2026-09-21 18:36:02
栏目: 智能运维

在 Debian 上让 Tomcat 开机自启动,常见有几种方式,取决于你安装的 Tomcat 形式(系统包还是二进制包)以及 Debian 版本(用 systemd 还是 sysvinit)。现在绝大多数 Debian 都用 systemd,下面以 systemd 为主说明。


一、如果是通过 apt 安装的 Tomcat(推荐)

例如:

sudo apt install tomcat9

这种方式自带 systemd 服务,直接启用即可:

sudo systemctl enable tomcat9
sudo systemctl start tomcat9

查看状态:

systemctl status tomcat9

二、如果是官网下载的 Tomcat(二进制包,最常见)

假设你安装在:

/opt/tomcat

1. 创建 systemd 服务文件

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

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

4. 验证

systemctl status tomcat

开机后会自动启动。


三、旧版 Debian(sysvinit,极少见)

如果是非常老的 Debian:

sudo update-rc.d tomcat defaults

或使用:

sudo chkconfig tomcat on

四、常见问题

1. 启动失败,日志在哪?

journalctl -xe
/opt/tomcat/logs/catalina.out

2. 端口被占用?

sudo netstat -tlnp | grep 8080

3. 想改端口

编辑:

/opt/tomcat/conf/server.xml

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

  • Debian 版本(cat /etc/os-release
  • Tomcat 版本
  • 安装方式(apt 还是手动解压)

我可以给你完全贴合你环境的配置

0