4

同じマシンに Apache 2 と JBoss 4.2.3 の両方があり、両方でポート 80 を使用したいと考えています。この mod_jk、mod_proxy を実行する方法はいくつかありますが、どれが最適かはわかりません。

負荷分散は必要ありませんが、HTTPS は必要です。

4

1 に答える 1

7

2 つのアプリケーションが同じ TCP ポート (80) を同時にリッスンすることはできません。mod_jk を使用して、ポート 80 で http 要求を Apache サーバーから JBoss サーバーにルーティングできます。これは、私が最もよく知っていて好む方法です。mod_proxy も機能するはずですが、その方法はもう少し複雑です。

Apache での https の構成は、別のトピックとして扱うのがおそらく最善です。SSL 証明書の購入、自己署名証明書の作成などには問題があります。

Apache サーバーから JBoss サーバーにリクエストをルーティングするように mod_jk を構成するには、次の 2 つの手順を実行します。

一部の要求を JBoss サーバーに転送するように Apache Web サーバーを構成します。

Apache の構成は、使用している Apache のディストリビューション (Windows、RHEL、debian、ソースからビルドなど) によって異なりますが、概念はどの Apache インストールでも同様です。


Tomcat Web サイトからプラットフォーム用のmod_jkをダウンロードする必要があります
。必要に応じて、mod_jk を自分でコンパイルすることもできます。

mod_jk バイナリ (Linux/UNIX システムの場合は mod_jk.so、Windows の場合は不明) を Apache サーバーのモジュール ディレクトリにコピーします (これは、使用している Apache ディストリビューションによって異なります)。

同等のディレクティブを Apache 構成に追加します。

LoadModule jk\_module /usr/lib/apache2/modules/mod\_jk.so

mod_jk.conf と workers.properties の 2 つの構成ファイルを Apache 構成ディレクトリに追加する必要があります。メインの Apache 構成ファイルから mod_jk.conf を含める必要があります。

Include /etc/apache2/mod\_jk.conf

worker.properties ファイルは、JkWorkersFile ディレクティブを使用して mod_jk.conf に含まれています。

mod_jk.conf のより詳細な設定については、Tomcat のドキュメント ページ (
http://tomcat.apache.org/connectors-doc/reference/apache.html ) を参照してください。

重要なディレクティブは次のとおりです。
JkWorkersFile (workers.properties ファイルが存在する場所を指定します)
JkMount (URI を tomcat ワーカーにマッピングするためのマウント ポイント)

例:

JkWorkersFile /etc/apache2/workers.properties<br>
JkMount  /examples/*  myworker<br>
JkMount  /examples    myworker

これらのディレクティブは、/examples および /examples/ URI を myworker tomcat ワーカーにマップします。

概念的には、ワーカーは tomcat または JBoss インスタンスを表し、マウントは URI をワーカーにマッピングする方法と考えることができます。この表現方法により、1 つの Apache サーバーを複数の tomcat または JBoss サーバーのフロントエンドにすることができます。これは、使用できる IP アドレスが 1 つしかなく、1 つの Apache サーバーの背後で複数のアプリケーション サーバーを実行したい場合に便利です。

Workers.Propertiesファイルは、Apacheサーバーが接続するTomcatまたはJBossサーバーを説明しています。このファイルの重要なエントリは次のとおりです。

worker.list=myworker<br>
worker.tomcat.type=ajp13<br>
worker.tomcat.host=localhost<br>
worker.tomcat.port=8009

worker.properties ファイルの tomcat ドキュメント ページには、他にもワーカー プロパティがあります:
http://tomcat.apache.org/connectors-doc/reference/workers.html

Apache サーバーからの接続を受け入れるように JBoss サーバーを構成する

JBoss サーバーは、デフォルトでポート 8009 (デフォルトの ajp ポート) で mod_jk 接続を受け入れるように設定されていますが、将来これを変更する場合に備えて、これをどこで設定するかを知っておくとよいでしょう。

設定は、${JBOSS_SERVER_CONFIGURATION}/deploy/jbossweb.sar/server.xml にある JBoss サーバーの tomcat ベースの部分にあります。これは JBoss AS 5.1.0.GA 用です。以前のバージョンは同様の場所にあります。mod_jk コネクタは、AJP 1.3 プロトコルのコネクタ セクションで構成され、次のようになります。

<Connector protocol="AJP/1.3" port="8009" address="${jboss.bind.address}"    redirectPort="8443" />

このセクションを変更する最も一般的な理由は、複数の tomcat または JBoss サーバーが AJP プロトコルを介して apache に接続している場合、競合がないように AJP コネクタがリッスンするポート番号を調整できることです。

于 2009-08-31T14:20:10.000 に答える