Debian 上 Tomcat 虚拟主机配置指南
一 前置准备
二 方案一 仅用 Tomcat 的 Host 方式(直接 8080 端口)
<Host name="example.com" appBase="webapps/example"
unpackWARs="true" autoDeploy="true">
<Alias>www.example.com</Alias>
<!-- 将 ROOT 应用指向外部目录 -->
<Context path="" docBase="/var/www/example.com" reloadable="true"/>
</Host>
sudo mkdir -p /var/www/example.com
echo "<h1>Hello example.com</h1>" | sudo tee /var/www/example.com/index.html
sudo chown -R tomcat:tomcat /var/www/example.com
# 如需部署 WAR,放入:/opt/tomcat/webapps/example/
sudo systemctl restart tomcat9
# 访问:http://example.com:8080/
三 方案二 Apache 反向代理或 AJP 方式(端口 80/443)
sudo apt update
sudo apt install tomcat9 apache2 libapache2-mod-jk
sudo a2enmod jk proxy proxy_http ssl
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
<VirtualHost *:80>
ServerName www.example.com
JkMount /* worker1
ErrorLog ${APACHE_LOG_DIR}/example_error.log
CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>
sudo a2ensite your-site.conf # 文件名自定义
sudo systemctl restart apache2
# 访问:http://www.example.com/
四 常见问题与排查
curl -I http://example.com:8080/
curl -I http://www.example.com/