温馨提示×

debian tomcat怎么绑定域名

小樊
44
2026-10-09 11:07:20
栏目: 云计算

在 Debian 上让 Tomcat 绑定/通过域名访问,通常有两种常见做法,取决于你是否直接用 Tomcat 对外提供服务。


一、Tomcat 直接绑定域名(不推荐生产环境)

1. 修改 Tomcat 的 server.xml

编辑 Tomcat 配置文件(路径可能不同):

sudo nano /etc/tomcat9/server.xml
# 或
sudo nano /opt/tomcat/conf/server.xml

找到 <Host> 节点,修改 name 为你的域名:

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

2. 修改监听端口(可选)

默认是 8080,如果想直接用 80 端口:

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

⚠️ Linux 下 1024 以下端口需要 root 权限,不建议 Tomcat 直接跑 root

3. 域名解析

在你的 DNS 服务商处添加 A 记录:

www.example.com → 服务器公网IP

4. 重启 Tomcat

sudo systemctl restart tomcat9

访问:

http://www.example.com:8080

二、Nginx + Tomcat(✅ 推荐)

架构

域名 → Nginx(80) → Tomcat(8080)

1. 安装 Nginx

sudo apt update
sudo apt install nginx

2. 配置 Nginx 反向代理

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

内容:

server {
    listen 80;
    server_name 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

3. DNS 解析

www.example.com → 服务器IP

4. 访问

http://www.example.com

三、HTTPS(可选但强烈建议)

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

四、常见问题

1. 多个域名怎么办?

在 server.xml 或 Nginx 中配置多个 server_name / <Host>

2. 只想某个项目用域名?

Nginx:

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

如果你告诉我:

  • Debian 版本
  • Tomcat 版本
  • 是否已有 Nginx
  • 单域名还是多域名

我可以给你精准配置示例。

0 踩