我正在尝试主持多个 Web 应用程序在 apache2 后面的 tomcat 6 下通过mod_jk
。
我对此束手无策。我面临的问题是两个域似乎都指向单个 tomcat“域”。
我的 server.xml 如下所示:
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="example.com">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="example.com" appBase="webapps-example"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host name="example.com" appBase="webapps-example.com"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
我的workers.properties如下所示:
worker.list=example,example2
worker.example.port=8009
worker.example.host=example.com
worker.example.type=ajp13
worker.example2.port=8010
worker.example2.host=example2.com
worker.example2.type=ajp13
最后我的 apache vhosts 看起来像这样:
<VirtualHost 10.160.211.7:80>
ServerName example.com
DocumentRoot /srv/www/example.com/public_html/
ErrorLog /srv/www/example.com/logs/error.log
CustomLog /srv/www/example.com/logs/access.log combined
JkMount /* example
</VirtualHost>
和
<VirtualHost 10.160.211.7:80>
ServerName example2.com
DocumentRoot /srv/www/example.com/public_html/
ErrorLog /srv/www/example.com/logs/error.log
CustomLog /srv/www/example.com/logs/access.log combined
JkMount /* example2
</VirtualHost>
当我登录 example.com 和 example2.com 上的管理器 webapp 时,我可以部署到 example 上的上下文路径,并且相同的 contextpath 将出现在 example2 上 - 所以我确切地知道这是同一个 tomcat 域。
编辑:刚刚在我的 mod_jk 日志中发现这个
[Sun Feb 20 21:15:43 2011] [28546:3075521168] [warn] map_uri_to_worker_ext::jk_uri_worker_map.c (962): Uri * is invalid. Uri must start with /
[Sun Feb 20 21:16:44 2011] [28548:3075521168] [info] ajp_send_request::jk_ajp_common.c (1496): (example) all endpoints are disconnected, detected by connect check (1), cping (0), send (0)
但不确定为什么示例没有响应
请帮助兄弟
答案1
我真是个白痴。我最终关闭了 apache 并连接到两个域上的 8080。问题仍然存在,所以我知道这不是 mod_jk 或 apache 的问题。
问题是我以 www.domain 的身份访问这两个域,但我没有在 tomcat 中为这些子域设置别名