JkMount指定を動的に変更

今回はuriworkermap.propertiesでJkMount指定を動的に変更する方法を紹介。mod_jkを使ってApacheTomcatを連携される際、Tomcat側で処理させるURLパスをJkMountディレクティブで指定するが、開発環境など変更が激しい環境ではこの定義変更にApache再起動が必要になってしまうので不便なときがある。よくある設定例はこんな感じ。
httpd.conf】


JkMount /jsp-examples/* ajp13
JkMount /servlets-examples/* ajp13
これをApache再起動せずに変更したい場合は、uriworkermap.propertiesを使って定義を外出しにしておくと便利。この場合の設定例はこんな感じ。
httpd.conf】

JkMountFile conf/uriworkermap.properties
JkMountFileReload 60
【uriworkermap.properties】

/jsp-examples/*=ajp13
/servlets-examples/*=ajp13
こうしておくとuriworkermap.propertiesを書き換えた60秒後には変更が反映される。JkMountFileReloadが再読み込みの間隔で、デフォルトは60秒。0を指定すると無効化できる。ただし、本番では無用なミスを避けるためにも、JkMountを使うか、JkMountFileReload 0にしておくのがよい。バージョンはmod_jk 1.2.20以降で利用可能なようだ。