同じマシンに Apache 2 と JBoss 4.2.3 の両方があり、両方でポート 80 を使用したいと考えています。この mod_jk、mod_proxy を実行する方法はいくつかありますが、どれが最適かはわかりません。
負荷分散は必要ありませんが、HTTPS は必要です。
同じマシンに Apache 2 と JBoss 4.2.3 の両方があり、両方でポート 80 を使用したいと考えています。この mod_jk、mod_proxy を実行する方法はいくつかありますが、どれが最適かはわかりません。
負荷分散は必要ありませんが、HTTPS は必要です。
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 コネクタがリッスンするポート番号を調整できることです。