我在3个Tomcat实例中部署了3个应用程序
http://host:8080/app0
http://host:8081/app1
http://host:8082/app2
我将workers.properties作为
worker.list = worker1,worker2,worker3
# Set properties for worker 'example' (ajp13)
worker.worker1.host=host
worker.worker1.port=8009
worker.worker1.type=ajp13
# Set properties for worker 'example' (ajp13)
worker.worker2.host=host
worker.worker2.port=8019
worker.worker2.type=ajp13
# Set properties for worker 'example' (ajp13)
worker.worker3.host=host
worker.worker3.port=8029
worker.worker3.type=ajp13
我的httpd.conf应该如何?所有虚拟主机都可以具有相同的服务器名称,如下所示
# app0 instance virtual host
<VirtualHost *:80>
ServerName host
DocumentRoot TOMCAT_HOME"\Tomcat Instance 1\webapps"
ErrorLog logs/app0.log
JkMount /app0 worker1
</VirtualHost>
# app1 instance virtual host
<VirtualHost *:80>
ServerName host
DocumentRoot TOMCAT_HOME"\Tomcat Instance 2\webapps"
ErrorLog logs/app1.log
JkMount /app1 worker2
</VirtualHost>
# app2 instance virtual host
<VirtualHost *:80>
ServerName host
DocumentRoot TOMCAT_HOME"\Tomcat Instance 2\webapps"
ErrorLog logs/app2.log
JkMount /app2 worker3
</VirtualHost>
任何人都可以帮助我吗?如果我使用mod代理,我间歇性地得到502代理错误,所以想到使用mod jk。
答案 0 :(得分:1)
我不确定Tomcat的一部分,但这就是我要做的事情
忘记不同的端口(如果你愿意,你可以这样做,但如果你想要做的只是设置虚拟主机,则没有必要)
访问
http://host/app0
http://host/app1
http://host/app2
将httpd.conf修改为
<VirtualHost *>
ServerName host
DocumentRoot TOMCAT_HOME"\Tomcat Instance 2\webapps"
Alias /app0 APP0_ROOT_HERE
Alias /app1 APP1_ROOT_HERE
Alias /app2 APP2_ROOT_HERE
</VirtualHost>
此配置将处理具有服务器名称“host”的所有请求,如果它与任何别名匹配,将使用指示的文档根目录。如果不匹配别名,则它将使用默认文档根。不确定单独记录但是应该可以,请查看http://httpd.apache.org/docs/2.2/vhosts/name-based.html