在 Debian 上让 Tomcat 绑定/通过域名访问,通常有两种常见做法,取决于你是否直接用 Tomcat 对外提供服务。
编辑 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>
默认是 8080,如果想直接用 80 端口:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
⚠️ Linux 下 1024 以下端口需要 root 权限,不建议 Tomcat 直接跑 root
在你的 DNS 服务商处添加 A 记录:
www.example.com → 服务器公网IP
sudo systemctl restart tomcat9
访问:
http://www.example.com:8080
域名 → Nginx(80) → Tomcat(8080)
sudo apt update
sudo apt install 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
www.example.com → 服务器IP
http://www.example.com
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d www.example.com
在 server.xml 或 Nginx 中配置多个 server_name / <Host>
Nginx:
location / {
proxy_pass http://127.0.0.1:8080/myapp;
}
如果你告诉我:
我可以给你精准配置示例。