0

我在 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。

4

1 回答 1

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>

此配置将处理具有服务器名称“主机”的所有请求,如果它与任何别名匹配,将使用指示的文档根目录。如果没有别名匹配,它将使用默认的文档根。不确定单独的日志记录,但应该可以,请查看http://httpd.apache.org/docs/2.2/vhosts/name-based.html

于 2012-10-04T10:11:03.927 回答