温馨提示×

Debian Tomcat怎么配域名

小樊
49
2026-09-24 19:14:30
栏目: 云计算

在 Debian 上给 Tomcat 配置域名,通常分 DNS + 服务器 + Tomcat(或反向代理) 三步。下面按常见场景说明。


一、前提条件

  1. 已有一台 Debian 服务器(公网 IP)
  2. 已安装 Tomcat(如 /opt/tomcat 或 /var/lib/tomcat9)
  3. 已注册域名(如 example.com)
  4. 服务器已开放 80 / 443 端口

二、域名解析(DNS)

在你的域名服务商后台添加记录:

  • A 记录
    • 主机:@ 或 www
    • 值:服务器公网 IP
  • 等待 DNS 生效(几分钟~几小时)

三、方式一:直接用 Tomcat 绑定域名(不推荐生产)

1. 修改 Tomcat 的 server.xml

路径示例:

/etc/tomcat9/server.xml

或

/opt/tomcat/conf/server.xml

修改 <Host>:

<Host name="www.example.com" appBase="webapps"
      unpackWARs="true" autoDeploy="true">
    <Alias>example.com</Alias>
</Host>

2. 修改端口(重要)

Tomcat 默认是 8080,浏览器访问域名要用 80:

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

⚠️ Linux 下 1024 以下端口需 root 权限,不推荐直接用 Tomcat 跑 80


四、方式二(推荐):Nginx + Tomcat(生产标准)

1. 安装 Nginx

sudo apt update
sudo apt install nginx

2. 配置 Nginx 反向代理

sudo nano /etc/nginx/sites-available/example.com

内容:

server {
    listen 80;
    server_name example.com www.example.com;

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

启用:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

此时:

http://example.com → Tomcat

五、配置 HTTPS(可选但强烈推荐)

使用 Let’s Encrypt

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com

自动配置 80 → 443 跳转。


六、部署项目到域名根路径(可选)

把项目放到:

webapps/ROOT

或

location / {
    proxy_pass http://127.0.0.1:8080/yourproject;
}

七、常见问题

  • 访问不了:检查防火墙 / 安全组
  • 502:Tomcat 没启动或端口错
  • 域名不生效:DNS 未 propagation

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

  • Tomcat 版本(8 / 9 / 10)
  • 是否用 Docker
  • 要不要 HTTPS

我可以给你一份完全可复制的配置。

0 踩