温馨提示×

Debian下Tomcat怎么配置

小樊
50
2026-08-31 06:55:38
栏目: 智能运维

在 Debian 下配置 Tomcat,通常分为 安装、目录配置、端口/用户/开机自启、部署应用 几个部分。下面以 Tomcat 9(最常见) 为例,逐步说明。


一、安装 Tomcat(推荐方式)

方式一:用 apt 安装(最简单,适合入门)

sudo apt update
sudo apt install tomcat9 tomcat9-admin tomcat9-examples

安装完成后,Tomcat 会自动:

  • 安装到 /var/lib/tomcat9
  • 配置文件在 /etc/tomcat9
  • 日志在 /var/log/tomcat9
  • 自动注册为 systemd 服务

查看状态:

systemctl status tomcat9

启动 / 停止 / 重启:

sudo systemctl start tomcat9
sudo systemctl stop tomcat9
sudo systemctl restart tomcat9

设置开机自启:

sudo systemctl enable tomcat9

浏览器访问:

http://服务器IP:8080

二、目录结构说明(很重要)

路径 说明
/etc/tomcat9/ 配置文件
/var/lib/tomcat9/ Tomcat 主目录
/var/lib/tomcat9/webapps/ 应用部署目录
/var/log/tomcat9/ 日志
/usr/share/tomcat9/ 基础库

三、配置 Tomcat(核心)

1️⃣ 修改端口(默认 8080)

编辑:

sudo nano /etc/tomcat9/server.xml

找到:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

修改端口号,例如改成 80:

<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

⚠️ 注意:Linux 下非 root 用户不能监听 80 端口,建议用 Nginx 反向代理。


2️⃣ 配置管理用户(Web 管理界面)

编辑:

sudo nano /etc/tomcat9/tomcat-users.xml

在 <tomcat-users> 中加入:

<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="123456" roles="manager-gui,admin-gui"/>

重启:

sudo systemctl restart tomcat9

访问:

http://IP:8080/manager/html

3️⃣ 关闭或开放远程管理(安全)

默认只允许 localhost 访问管理页面。

如需远程访问:

sudo nano /var/lib/tomcat9/webapps/manager/META-INF/context.xml

注释掉:

<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
      allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->

⚠️ 生产环境不建议开放


四、部署 Java Web 应用

方式一:直接放 war 包

cp yourapp.war /var/lib/tomcat9/webapps/

Tomcat 会自动解压。

访问:

http://IP:8080/yourapp

方式二:配置 Context(推荐高级用法)

sudo nano /etc/tomcat9/Catalina/localhost/yourapp.xml

内容:

<Context docBase="/data/projects/yourapp"
         reloadable="true" />

五、使用 Nginx 反向代理 Tomcat(推荐)

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

六、常见问题排查

Tomcat 无法启动

journalctl -u tomcat9

端口被占用

ss -lntp | grep 8080

Java 版本问题

java -version

Tomcat 9 推荐 Java 8 / 11


七、卸载 Tomcat

sudo apt remove tomcat9 tomcat9-admin
sudo apt purge tomcat9

如果你愿意,我可以:

  • ✅ 给你 Tomcat 10 配置指南
  • ✅ 帮你 配置 HTTPS
  • ✅ 写 生产环境最优实践
  • ✅ 排查你当前 Tomcat 启动失败原因

直接告诉我你的 Debian 版本 + Tomcat 版本 + 报错信息 即可。

0 踩