mod_jk 상태 페이지가 작동하지 않습니다

mod_jk 상태 페이지가 작동하지 않습니다

Apache 서버를 사용하여 Tomcat 7에서 클러스터링을 수행하고 있습니다. 그것은 잘 작동합니다. 그러나 다음과 같은 문제가 있습니다.

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를 사용할 때는; 그것은 작동하지 않습니다.

제안해주세요.

답변1

작업자에게 필요한 공유 메모리를 초기화하는 데 문제가 있습니다.

디렉토리가 /etc/httpd/logs/존재하고 tomcat 인스턴스를 실행하는 사용자가 쓸 수 있는지 확인하십시오. 그렇지 않은 경우 디렉토리에 대한 권한을 변경하거나 shm 파일을 보관할 별도의 디렉토리를 생성하십시오. (중요한 상태를 동일한 위치에 유지하는 것은 좋지 않기 때문에 후자를 권장합니다. 여러 가지 이유로 인해 로그가 삭제되었습니다.)

디렉터리가 존재하고 쓰기 가능한 경우 SELinux가 켜져 있는지 확인하고, 그렇다면 권한 문제가 있는지 확인하세요. 문제가 사라지는지 확인하기 위해 언제든지 이를 허용으로 설정해 볼 수 있습니다. 그렇다면 권한을 수정하고 다시 켜야 할 때입니다.

답변2

많은 인터넷 검색 끝에; 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>

이것은 나에게 효과적이었습니다.

감사해요

관련 정보