我想要两个 webapps(webapp1 和 webapp2 驻留在/var/www/html/webapps/下),都使用 PHP 和 JSP,在同一台机器上运行:
- Apache 2.4
- Tomcat 7.0.50(+APJ 连接器)
并希望通过以下 URL(具有相同的 IP 和端口)访问它们:
localhost/webapp1
localhost/webapp2
我知道虚拟主机设施。问题是 Apache 似乎只“看到”第一个可用站点:每当我查找 localhost/webapp2 时,我都会收到“未找到”错误。请注意,如果我查找“localhost:8080/webapp2”(即绕过 apache2),一切正常。
每个 webapp 在 sites-available 目录下都有自己的 conf 文件。例如,在 webapp2.conf 中我有
JkMountCopy On
JkMount /webapp2/* tomcat_worker
我该如何解决?
最佳答案
注意
在 Apache 服务器上创建虚拟主机配置不会神奇地导致为这些主机名创建 DNS 条目。您必须在 DNS 中拥有名称,解析为您的 IP 地址,否则其他人将无法看到您的网站。您可以将条目放入主机文件中以进行本地测试,但这只能在具有这些主机条目的机器上运行。
Listen 80
Listen 8080
<VirtualHost 172.20.30.40:80>
ServerName www.example.com
DocumentRoot "/www/domain-80"
</VirtualHost>
<VirtualHost 172.20.30.40:8080>
ServerName www.example.com
DocumentRoot "/www/domain-8080"
</VirtualHost>
<VirtualHost 172.20.30.40:80>
ServerName www.example.org
DocumentRoot "/www/otherdomain-80"
</VirtualHost>
<VirtualHost 172.20.30.40:8080>
ServerName www.example.org
DocumentRoot "/www/otherdomain-8080"
</VirtualHost>
如果您需要其他帮助,请向我们展示您的相关配置文件。
关于apache - 使用 Apache 2.4 的多个 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30329281/