mod_jk
Apache HTTP ServerなどのTomcat連携ツールのひとつ
Tomcat側で配布されているApache用module
mod_proxy_ajpと比べてロードバランシングなどが可能? mod_proxy_ajp でも可能
https://tomcat.apache.org/connectors-doc/index.html
AJP13 で通信する
build
ソースコードで配られているのでbuild する
Apache httpd の bin/apxs が必要
build Docker内などで
$ wget https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.50-src.tar.gz
$ tar xf tomcat-connectors-1.2.50-src.tar.gz
$ cd tomcat-connectors-1.2.50/native
$ ./configure --with-apxs=/usr/local/apache2/bin/apxs
--with-apxs に apache の apxs
$ make
apache-2.0/mod_jk.so
Apache httpd の modules に突っ込む
# cp apache-2.0/mod_jk.so /usr/local/apache2/modules
モジュールの有効化 と workers.properties ファイルが必要
LoadModule Jk
workers.properties
JavaのProperties 形式
コメント # で可能
code:workers.properties
# 使用するワーカー名の一覧 カンマ区切り 省略時 ajp13
worker.list=ajp1,ajp2
# ワーカー worker.ワーカー名.パラメータ で記述する
# type 種類
worker.ajp1.type=ajp13
# 接続先サーバ 省略時 localhost
worker.ajp1.host=localhost
# 接続先ポート ajp13のデフォルトは8009 ajp14は8011
worker.ajp1.port=8009
# secret TomcatのConnectorと同じsecretを指定する
worker.ajp1.secret=example
https://tomcat.apache.org/connectors-doc/reference/workers.html
type
ajp13, ajp14, lb, status
ajp13 普通の接続
ajp14 次の世代?
lb ロードバランサー
status 確認用
secret が必須になっているので無効化しないで設定したほうがいい