在 Debian 里“配 Tomcat 域”通常有两种常见理解,我分别说明,你看你指的是哪一种。
这是最常见的做法:
Tomcat 本身只监听 localhost:8080,由 Web 服务器对外提供域名访问。
sudo apt update
sudo apt install tomcat9
sudo apt install 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;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
启用配置:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
✅ 访问 http://example.com 即可进入 Tomcat
如果你是想让 Tomcat 直接根据域名区分应用(不使用 Nginx):
sudo nano /etc/tomcat9/server.xml
<Host name="example.com" appBase="webapps/example"
unpackWARs="true" autoDeploy="true">
<Alias>www.example.com</Alias>
</Host>
sudo mkdir -p /var/lib/tomcat9/webapps/example
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
sudo systemctl restart tomcat9
⚠️ 注意:Tomcat 直接监听 80 需要 root 权限,生产环境不推荐
无论哪种方式,都要:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com
如果你说的“域”是指:
可以告诉我,我给你更精确的配置。