前回、「ApacheとJBOSSの連携 - その1 mod_jk.so の入手方法」でmod_jk.soの準備ができたら、ApacheとJBossのセットアップです。
前提条件:
- ApacheはD:\app\Apache2.2にインストール済み (Versionは2.2.22)
- JBOSSはD:\app\jboss-5.1.0.GA-jdk6\jboss-5.1.0.GAにインストール済み (Versionは5.1.0GA-jdk6)
- Apache, JBOSSは同じマシン上にインストールされている(Windows 2008)
- ApacheとJBOSSはTomcat Connector (mod_jk.so)で連携
- Apacheと連携させるWeb Application はJBossの管理アプリケーションであるweb-console, admin-console, jmx-console とする
目的:
ユーザーがWeb Application Serverに8080ポートでアクセスしている状態(いわゆる直アクセス)であるところを、Front End HTTPサーバーとしてApacheを立ててWell known Portである80番ポートでアクセスできるようにしてあげる。図で表すと、こういう状態を
このようにします。
手順:
Apache側のセットアップ
セットアップの概要はこんな感じ
1. conf/httpd.confを修正
ファイルの最下行に、次のInclude Statement 1行を追加
Include conf/mod_jk.conf
*Apacheに「mod_jkを使うよ、詳しくはconf/mod_jk.confを見てね」と言っている
2. conf/mod_jk.confを作成
メモ帳を開き、次の6行をコピペして、mod_jk.confファイルとして保存、confフォルダの下に置く
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkMount /admin-console/* node1
JkMount /jmx-console/* node1
JkMount /web-console/* node1
ステップ1の[Include]の設定で、Apacheはこのファイルを見に来る。
まず、ここではApacheにロードしてもらいたいmod_jk.soモジュールの場所を伝え[LoadModule]、mod_jk.soモジュールに関するログを出力するファイルの場所を指定している[JkLogFile]。
ユーザーからのHTTPリクエストのURLに/admin-console/、/jmx-console/、/web-console/が入っている場合にnode1 (worker) にリクエストを転送するよう指示している[JkMount]。Apacheはリクエストをnode1に転送すれば良いことは理解できたがnode1は何処か? 転送先情報はまだ知らない。
node1の転送先情報は、[JkWorkersFile] で指定されたconf/workers.propertiesで定義されているので、次にconf/workers.propertiesのファイルを見に行く。
3. conf/workers.propertiesを作成
メモ帳を開き、次の5行をコピペして、workers.propertiesとして保存、confフォルダの下に置く
worker.list=node1
worker.node1.port=8009
worker.node1.host=server1
worker.node1.type=ajp13
ステップ2の[JkWorkersFile]の設定で、Apacheは転送先情報を知るためこのファイルを見に来る。
workers.propertiesファイルでは、node1という名前のWorkerはここで定義されていて[worker.list]、node1のHost名(またはIP)、ポート番号とタイプが定義されている[worker.node1.port], [worker.node1.host], [worker.node1.type]。
4. mod_jk.soをApacheサイトからDownloadしてmodulesフォルダに置く
mod_jk.soのDownload方法は前回の ApacheとJBOSSの連携 - その1 mod_jk.so の入手方法 を参照。
JBOSS側のセットアップ
JBOSS起動用バッチ(run.bat) にbオプションでJBOSSがListenするアドレスを指定(ホスト名もしくはIP)しておく。 (今回は、run.bat -b 0.0.0.0 と設定している、0.0.0.0は、server1上のすべてのNetwork Interface (NIC) のアドレスでJBossはリスエストを受け付けるようになる)
オプション付きでJBossを起動する方法として、過去紹介したように起動用バッチを準備したり、下の例のようにrun.batのショートカットを作成して、プロパティで-bオプションをつけてやる方法がある。
Apache/JBOSSを起動と動作確認
以上の設定が終わったら、Apache/JBOSSを起動する。 下記URLがちゃんと表示されたら設定完了(server1の部分は実際のサーバーホスト名に変更してください)。
http://server1/admin-console/
http://server1/jmx-console/
http://server1/web-console/
最後に:
今回はHTTP(Apache)とWeb Application Server(JBoss)が同じマシンにある場合の設定方法を紹介したが、下図のようにserver1, server2と別々のマシンに別れている場合は、workers.propertiesのnode1.hostを変えてやれば良い。
0 件のコメント:
コメントを投稿