web-dev-qa-db-ja.com

mod_jkステータスページが機能しない

Apacheサーバーを使用してTomcat7でクラスタリングを行っています。それもうまく機能しています。ただし、次の問題があります。

1)mod_jkステータスページを監視しようとしています。しかし、それは404エラーを与えています。

2)ログに次のエラーが表示されます-

[Tue Dec 17 13:16:51.019 2013] [2236:140599476504544] [error] init_jk::mod_jk.c (3348): Initializing shm:/etc/httpd/logs/mod_jk.shm.2236 errno=13. Load balancing workers will not function properly.
[Tue Dec 17 13:16:51.019 2013] [2236:140599476504544] [info] init_jk::mod_jk.c (3365): mod_jk/1.2.37 initialized
[Tue Dec 17 13:16:51.041 2013] [2237:140599476504544] [error] init_jk::mod_jk.c (3348): Initializing shm:/etc/httpd/logs/mod_jk.shm.2237 errno=13. Load balancing workers will not function properly.
[Tue Dec 17 13:16:51.042 2013] [2237:140599476504544] [info] init_jk::mod_jk.c (3365): mod_jk/1.2.37 initialized

これがworker.propertiesファイルです

worker.list=tomcatnode1,tomcatnode2,loadbalancer,statusmanager

worker.tomcatnode1.port=8009
worker.tomcatnode1.Host=localhost
worker.tomcatnode1.type=ajp13
worker.tomcatnode1.lbfactor=100

worker.tomcatnode2.port=8010
worker.tomcatnode2.Host=localhost
worker.tomcatnode2.type=ajp13
worker.tomcatnode2.lbfactor=100


#Load Balance Configuration
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=tomcatnode1, tomcatnode2
worker.loadbalancer.sticky_session=1

#worker.list=jkstatus
worker.statusmanager.type=status

ここにmod_jk.confファイルがあります

LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkShmFile logs/mod_jk.shm
JkMount /IntellixWebApi/* loadbalancer
#JkMount /jkmanager/* jkstatus
#JkMount /jkmanager jkstatus

<Location /status/>
    JkMount statusmanager
    Order deny,allow
#   Deny from all
    Allow from 127.0.0.1
</Location>

IntellixWebApiにアクセスしている場合;アクセス可能です。しかし、私が/ statusを使用しているとき;動作していません。

提案してください。

4
Kumar

たくさんのグーグルの後; jk_managerステータス画面を取得できます。最初にSELINUXを無効にし、次にシステムを再起動した後。次のJkMountを設定しました

JkMount /* loadbalancer
JkMount /IntellixWebApi/* loadbalancer
JkMount /jkmanager/* jkstatus

<Location /status/>
    JkMount statusmanager
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>

これは私のために働いた。

ありがとう

1
Kumar

ワーカーが必要とする共有メモリの初期化に問題があります。

ディレクトリが/etc/httpd/logs/が存在し、Tomcatインスタンスを実行しているユーザーが書き込み可能です。そうでない場合は、ディレクトリのアクセス許可を変更するか、shmファイルを保持するために別のディレクトリを作成します(重要な状態をと同じ場所に保持するのは得策ではないため、後者をお勧めします)。いくつかの理由で、ログ。)

ディレクトリが存在し、書き込み可能である場合は、SELinuxがオンになっているかどうか、オンになっている場合は、アクセス許可の問題があるかどうかを確認してください。問題が解消されるかどうかを確認するために、いつでも許容に設定することができます。もしそうなら、それは許可を修正し、それを再びオンにする時が来ました。

4
Jenny D