我正在尝试配置我的(内部)测试服务器以运行2个tomcat应用程序(实际上是并排运行相同的2个版本)。我们使用Apache2.4mod_jk
所以目前它适用于一个应用程序
http://LOCALSERVERNAME
我的更改有它的工作(相同的应用程序)
1) http://LOCALSERVERNAME
和
2) http://LOCALSERVERNAME:81
但我希望它继续为1工作,并为2运行不同的应用程序。
所以我修改了httpd. conf以侦听两个端口
Listen 80
Listen 81
使用现有的jkMount设置此
JkMount /* worker1
JkMount /localhost:80 worker1
JkMount /localhost:80/* worker1
JkMount /127.0.0.1:80 worker1
JkMount /127.0.0.1:80/* worker1
在两个端口(而不是在其他端口)上打开tomcat应用程序,以便侦听器指令正常工作。然而,我认为这只是使用JkMount/*worker1。
我在此期间修改了这一点,将其注释出来并尝试以下两个选项(分别)
#JkMount /* worker1
#JkMount /*:80/* worker1
JkMount /194.66.181.17:80/* worker1
我已将servername条目设置为本地服务器名称
ServerName LOCALSERVERNAME
这是给我一个身份验证所需的登录弹出窗口
我已经修改了我继承的worker.properties,在浏览解决方案时,我想我可能误解了它的用途。它使用了一个平衡器(与前面提到的相同),我修改了它,以为我会用它来为tomcat应用程序提供不同的端口(8009
worker.list=worker1, worker2
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker2.port=8011
worker.worker2.host=localhost
worker.worker2.type=ajp13
我的httpd-vhost. conf文件看起来像这样,尽管我在第二个条目中尝试了很多东西,但我认为它们从未被拾取过-我认为我最接近工作的时候是两个端口80
<VirtualHost [IP-address]:80 localhost:80>
servername LOCALSERVERNAME
DocumentRoot "E:/Production/Apache/htdocs"
<Directory "E:/Production/Apache/htdocs">
Options +FollowSymLinks
AllowOverride All
</Directory>
JkOptions +ForwardURICompatUnparsed
ProxyRequests off
JkMount /* worker1
</VirtualHost>
<VirtualHost [IP-address]:81>
servername LOCALSERVERNAME
DocumentRoot "E:/Production/Apache/dummy"
</VirtualHost>
所以…我的问题是,我可以在本地域服务器上使用apache来运行2个使用mod_jk的嵌入式tomcat应用程序吗?如果是这样,有人能指出我的配置哪里出错了吗?我假设我在某个地方走错了方向,而不是需要一个小的调整?
我宁愿通过同一个80端口使用两个虚拟主机,即使只是出于概念原因。
但是这里的问题主要是你的配置不起作用,我想是因为我认为(或者至少我从未见过它以这种方式工作)你配置指令JkMount/localhost:80worker1
的方式不起作用。正如你所猜测的,我很确定在你的第一个配置中唯一有效的规则是JkMount/*worker1
。
所以我的选择是创建两个基于名称的虚拟主机,并为每个主机设置JkMount内部,或多或少是这样的:
<VirtualHost *:80>
servername prod.LOCALSERVERNAME
DocumentRoot "E:/Production/Apache/htdocs"
<Directory "E:/Production/Apache/htdocs">
Options +FollowSymLinks
AllowOverride All
</Directory>
JkOptions +ForwardURICompatUnparsed
ProxyRequests off
JkMount /* worker1
</VirtualHost>
<VirtualHost *:80>
servername dummy.LOCALSERVERNAME
DocumentRoot "E:/Production/Apache/dummy"
JkOptions +ForwardURICompatUnparsed
ProxyRequests off
JkMount /* worker2
</VirtualHost>