Jk, Jk2 コネクタのインストール
コネクタにはいくつか種類があります. Apache バージョン 2.0 以前では、Jk, Jk2 コネクタが有名でした。この Web ページでインストール手順を説明する. Apache Tomcat コネクタとしては,Jk コネクタ あるいは Jk2 コネクタの、どちらか片方を選んでインストールしてください.
Jk コネクタのインストール (Linux の場合)
Jk コネクタは,Apache HTTP サーバのモジュール (mod_jk) になっています.
インストールの前に,Apache Tomcat がインストール済みであること.
- インストール
cd /tmp tar -xvzof tomcat-connectors-1.2.21-src.tar.gz cd native ./configure make make install
- /etc/httpd/conf.d/jk.conf
LoadModule jk_module modules/mod_jk.so JkWorkersFile /etc/httpd/conf.d/workers.properties JkLogFile /var/log/httpd/mod_jk.log JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat "%w %V %T" JkMount /servlets-examples/* ajp13 JkMount /jsp-examples/* ajp13
- /etc/httpd/conf.d/workers.properties
workers.tomcat_home=/usr/local/apache-tomcat-5.5.23 workers.java_home=/usr/local/j2sdk1.6.0 # You should configure your environment slash... ps=\ on NT and / on UNIX # and maybe something different elsewhere. ps=/ worker.list=ajp13 worker.ajp13.port=8009 worker.ajp13.host=localhost worker.ajp13.type=ajp13
- Apache HTTP サーバの再起動
/usr/local/apachet2/bin/apachectl -k graceful
- ポート 8080 は,127.0.0.1 からの接続のみを受け付ける
Tomcat の conf ディレクトリ (C:\tomcat55\conf) にある server.xml を編集.
port="8080"についての設定を、次のように書き換える。
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" minProcessors="5" maxProcessors="75" address="127.0.0.1" enableLookups="true" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" useURIValidationHack="false" disableUploadTimeout="true" />
- ポート 8009 は,127.0.0.1 からの接続のみを受け付ける
port="8009"についての設定を、次のように書き換える。
<!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" address="127.0.0.1" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
- Apache Tomcat の設定を変えたので,Tomcat を再起動する.
Jk2 コネクタ 2.0.2 のインストール (Windows の場合)
Windows を使用する場合は,次のように操作する.
以下,Windows で Jk2 コネクタをインストールする手順を示している. このコネクタは,Apache HTTP サーバのモジュール (mod_jk2) になっています.
なお,Jk2 コネクタは,実はすでにメンテナンスが終了している. Jk コネクタの使用が推奨されている.
インストールの前に,Apache Tomcat がインストール済みであること.
- apache のWeb ページからダウンロード
https://jakarta.apache.org/site/downloads/index.html
- 「archives」をクリック
- 「tomcat_connectors」⇒「jk2」⇒ 「binaries」⇒ 「win32」
- zip形式のファイル(jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49.zip) をダウンロード
- 解凍
conf, doc, modules の3つのフォルダができる. 上記3つのフォルダに対して下記の 3, 4, 5 の手順を行う.
- workers2.propetries ファイルのコピー
conf\workers2.properties.sample を、apache の conf フォルダ (c:\Program Files\Apache Group\Apache2\conf) に workers2.propertiesという名前でコピー(ファイル名の変更)する.その後,workers2.properties の内容を変更する.
[変更前] [uri:/examples/*] [変更後] [uri:/servlets-examples/*]
- Apache の conf ファイル conf/httpd.conf の修正
- apache のhttpd.conf の末尾に「LoadModule jk2_module modules/mod_jk2.so」の行を追加する.
- 上記1で追加した行の直後に,「conf\ mod_jk2.conf.sample」の中身をコピー&ペーストする.
- 上記2で追加した行のうち JkSet config.file の行は UNIX 用の設定になっているので, パスを変更する.
[変更前] JkSet config.file /usr/local/etc/apache2/workers2.properties [変更後] JkSet config.file conf/workers2.properties
- 上記、1,2,3の結果は、次のようになる
LoadModule jk2_module modules/mod_jk2.so <IfModule mod_jk2.c> #----------------------------------------------- # Where to find the workers2.properties file #----------------------------------------------- # JkSet config.file conf/workers2.properties </IfModule>
- (必要なら)apache のhttpd.conf のカスタマイズを行う
- modules\mod_jk2.so ファイルのコピー
付属の modules\mod_jk2.so を、apache の modules ディレクトリ (c:\Program Files\Apache Group\Apache2\modules) にコピー
- docs ファイルのコピー
doc ディレクトリの中身を,C:\tomcat55\docsのディレクトリにコピーする.
- ポート番号の設定
Tomcat の conf ディレクトリ (c:\tomcat55\conf) に,ファイルjk2.properties を作成する.
このファイルには,ポート番号の設定を行う.そのために,次の行を追加する.
「channel Socket.port=8009」
- ポート 8080 は,127.0.0.1 からの接続のみを受け付ける
Tomcat の conf ディレクトリ (C:\tomcat55\conf) にある server.xml を編集.
port="8080"についての設定を、次のように書き換える。
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" minProcessors="5" maxProcessors="75" address="127.0.0.1" enableLookups="true" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" useURIValidationHack="false" disableUploadTimeout="true" />
- ポート 8009 は,127.0.0.1 からの接続のみを受け付ける
port="8009"についての設定を、次のように書き換える。
<!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" address="127.0.0.1" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
- Apache Tomcat の設定を変えたので,Tomcat を再起動する.
テスト実行
Tomcat に付属のサンプルファイルを使ってテスト
- Tomcat の再起動: c:\tomcat55\bin\tomcat5w.exe を使用
- apache の再起動:
- 下記の URL を使い、servlets-examples のページを開く. 「:8080」を付けない.Web サーバにアクセス.
http://localhost/servlets-examples
- Tomcat に新しくクラス定義を追加したときは, Apache の conf\workers2.properties を編集して,クラス定義のあるディレクトリについての設定を追加する.
メモ
今後、Tomcat の c:\tomcat55\webapps\cgi\WEB-INF\classes\ ディレクトリには、クラス名.java のファイルが多数置かれることになる。 http://localhost/cgi/クラス名という URL を使って、このクラスの doGet メソッドが起動されるという仕組みになっている。