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>

この構成は、サーバー名「host」を持つすべてのリクエストを処理し、エイリアスのいずれかに一致する場合は、指定されたドキュメント ルートを使用します。エイリアスが一致しない場合は、デフォルトのドキュメント ルートが使用されます。個別のロギングについては不明ですが、可能なはずです。http://httpd.apache.org/docs/2.2/vhosts/name-based.htmlを確認してください。

于 2012-10-04T10:11:03.927 に答える