web-dev-qa-db-ja.com

mod_jkのworkers.propertiesファイルを設定する

Mod_jkがApacheWebサーバー2.2.xと通信できるようにworkers.propertiesファイルを作成しようとしています。 GlassFish 3.1管理ドキュメントには、worker.propertiesの次の例が含まれています。

# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.Host=localhost
worker.worker1.port=8009
# GlassFish server settings
maxThreads=256

この例では、mod_jk/GlassfishがApache Webサーバーとは異なる物理サーバーにインストールされていることを前提としていますか?より具体的には、Apache WebサーバーとGlassfishおよびmod_jkがすべて同じ物理サーバー上にある私の状況で、ポート番号(8009など)を指定する必要がありますか?

つまり、ポートの概念は、マシン間の通信を容易にすることだと思いました。すべてが同じマシン上にある場合、通信するためにポート番号を開く必要がありますか?または、他の理由でポート8009が必要ですか?私の状況では、GlassfishのフロントエンドとしてApache Webサーバーを使用したいので、Glassfishは外部クライアントと直接通信しません。

したがって、ここでの主な質問は、すべてが同じサーバーにインストールされ、GlassfishがApache Webサーバーからの単純なパススルーとしてmod_jkを使用した場合に、上記のサンプルファイルをどのように適合させるかです。

2番目の質問は、設定できるmaxThreadsの最大数はいくつですか。 (これはAJP13プロトコル、または他の何かによって制限されていますか?)

1
gkdsp

ここにいくつか質問があります。順番に答えてみます。

つまり、ポートの概念は、マシン間の通信を容易にすることだと思いました。すべてが同じマシン上にある場合、通信するためにポート番号を開く必要がありますか?

はいといいえ。ポートの用途は、複数のIPベースのサービスが相互に通信できるようにすることです。それは必ずしもそれがコンピュータ間であることを意味するわけではありません。それは本当にあなたがIPベースのサービスと話していることを意味するだけです。

したがって、ここでの主な質問は、すべてが同じサーバーにインストールされ、GlassfishがApache Webサーバーからの単純なパススルーとしてmod_jkを使用した場合に、上記のサンプルファイルをどのように適合させるかです。

例は正しいですが、それでもajpポートを指定する必要があります。そうしないと、mod_jkはインスタンスに接続できません。それがまだIPソケット接続を行っているのと同じマシン上にあるとしても-それはループバックアダプターを介してのみであり、eth0のような標準アダプターではありません

2番目の質問は、設定できるmaxThreadsの最大数はいくつですか? (これはAJP13プロトコル、または他の何かによって制限されていますか?)

これは単なるINTだと思いますが、これを最高の設定に設定しないことを強くお勧めします。256が適切な開始場所から開始し、アプリで何が起こっているか、実際に必要な接続数を監視します。

2
Zypher