java - 将 Apache 链接到具有多个域的 Tomcat

标签 java apache tomcat mod-jk multiple-domains

好的,所以我已经为此工作了一段时间,并且一直在搜索,但到目前为止,我还没有找到任何真正回答我想知道的问题的答案。我对这个有点束手无策,但我希望我能尽快解决这个问题。

所以我安装了 Apache 2 并提供标准网页,但我也将其链接到我当前支持的域之一的 Tomcat 实例。但是,我想通过 Apache 向服务器添加另一个域,该域指向一个与我已有的代码库不同的代码库。我从几个不同的角度来看这个问题,我确定我对设置这些服务器的了解还不够多,无法真正完成我想做的事情。

关于我的服务器的一些信息: 目前使用 Apache 2 运行单个 Tomcat5.5 实例,使用 mod_jk 将它们连接在一起。

我在 workers.properties 中有一个工作人员将它的“主机”字段指向“本地主机”,并使用正确的端口我的 Tomcat 实例,以便一切正常。

在我的 Tomcat server.xml 文件中,我有一个定义为“localhost”的主机,它指向我当前正在服务的我的 Web 应用程序,该主机也设置为 defaultHost。

我的想法是我可以添加一个新的 worker,其主机与“localhost”(即 host2)不同,然后在我的 server.xml 文件中定义一个名为“host2”的新主机来匹配它,但是在阅读之后围绕互联网上的一些,似乎工作人员的“主机”必须指向服务器,而不是 Tomcat 实例中的主机名,这是正确的吗?

再一次,我想要的是一个简单的纲要: 在 apache/tomcat 组合中设置 www.domain1.com 指向“webapp1”,www.domain2.com 指向“webapp2”。

最佳答案

首先,为两个 webapps 设置 mod_jk worker。下面是示例 workers.properties:

workers.tomcat_home=/usr/local/tomcat/apache-tomcat-6.0.20
workers.java_home=/usr/lib/jvm/java-6-sun
ps=/
worker.list=worker1,worker2
worker.worker1.type=ajp13
worker.worker1.host=www.domain1.com
worker.worker1.port=8009
worker.worker2.type=ajp13
worker.worker2.host=www.domain2.com
worker.worker2.port=8009

Then, set up virtual hosts on apache:

<VirtualHost *:80>
   ServerName www.domain1.com
   JkMount /* worker1
</VirtualHost>

<VirtualHost *:80>
   ServerName www.domain2.com
   JkMount /* worker2
</VirtualHost>

确保 server.xml 包含一个未注释的端口 8009 的 AJP 连接器(匹配工作端口)。像这样:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

最后,配置tomcat主机。像这样:

<Host name="www.domain1.com"
   appBase="/path/to/domain1"
   unpackWARs="true"
   autoDeploy="true"
   xmlValidation="false"
   xmlNamespaceAware="false">

<Host name="www.domain2.com"
   appBase="/path/to/domain2"
   unpackWARs="true"
   autoDeploy="true"
   xmlValidation="false"
   xmlNamespaceAware="false">

您可能需要做一些调整,但应该接近最终结果。

关于java - 将 Apache 链接到具有多个域的 Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1765399/

相关文章:

php - 在 PHP 中解析 HTTP_RANGE header

java - tomcat的默认缓存 header ?

java - 如何通过parellel plesk更改tomcat中的默认JRE

java - 在 Jetty 和 Tomcat 中运行 Web 应用程序

java - 如何摆脱数组列表中的空格?

java - SWT 按钮上的 MouseClick 事件在哪里?

java - scjp关于设计的问题

python - Flask、mod_wsgi 和 Apache : ImportError

java - Jenkins - 通过一项工作向 Sonar 构建所有子模块报告

apache - 强制 https 连接