Debian上Tomcat虚拟主机怎么配置
导读:Debian 上 Tomcat 虚拟主机配置指南 一 前置准备 安装 Java 与 Tomcat(Debian 11/12 可直接使用包管理器安装 tomcat9;若手动安装,请准备 JDK 并创建专用系统用户)。 规划目录:为每个站点准...
Debian 上 Tomcat 虚拟主机配置指南
一 前置准备
- 安装 Java 与 Tomcat(Debian 11/12 可直接使用包管理器安装 tomcat9;若手动安装,请准备 JDK 并创建专用系统用户)。
- 规划目录:为每个站点准备应用目录(如 /var/www/example.com 或 /opt/tomcat/webapps/example.com),并确保 tomcat 用户对其有读写权限。
- 网络与解析:开放防火墙的 8080/80/443 端口;将域名 example.com 的 A 记录指向服务器,或在测试环境写入 /etc/hosts。
- 可选:如需对外仅暴露 80/443,建议前置 Apache/Nginx 做反向代理或 AJP 连接。
二 方案一 仅用 Tomcat 的 Host 方式(直接 8080 端口)
- 编辑 server.xml(Debian 包安装通常为 /etc/tomcat9/server.xml;手动安装为 $CATALINA_HOME/conf/server.xml),在 内新增 :
<
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/
- 重启 Tomcat 并验证:
sudo systemctl restart tomcat9
# 访问:http://example.com:8080/
- 说明:每个域名对应一个 Host;如需多个站点,重复添加 并使用不同 appBase/docBase。
三 方案二 Apache 反向代理或 AJP 方式(端口 80/443)
- 安装组件并启用模块:
sudo apt update
sudo apt install tomcat9 apache2 libapache2-mod-jk
sudo a2enmod jk proxy proxy_http ssl
- 配置 workers.properties(常见路径:/etc/libapache2-mod-jk/workers.properties 或 /etc/apache2/workers.properties):
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
- 配置 Apache 虚拟主机(启用 AJP 转发):
<
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/
- 如需 HTTPS,在 Apache 中启用 SSL 并配置证书(端口 443),保持 JkMount 规则不变。
四 常见问题与排查
- 目录权限:确保 /var/www/example.com 或 appBase 目录属主为 tomcat:tomcat,否则会出现 403/404。
- 配置生效:修改 server.xml 后必须重启 Tomcat;修改 Apache 虚拟主机需执行 a2ensite 并重启 Apache。
- 端口连通:确认防火墙放行 8080/80/443;云服务器还需在安全组放行对应端口。
- 本地测试:在 /etc/hosts 添加 “127.0.0.1 example.com”,再用 curl 验证:
curl -I http://example.com:8080/
curl -I http://www.example.com/
- 日志定位:Tomcat 日志在 $CATALINA_HOME/logs/(如 catalina.out、localhost.log*);Apache 日志在 /var/log/apache2/。
- 多站点建议:为每个站点使用独立的 Host/appBase,避免应用相互覆盖。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian上Tomcat虚拟主机怎么配置
本文地址: https://pptw.com/jishu/786225.html
