TOMCAT 에 IAIP 포팅하기. ( Apache 와 Tomcat 관계 )
서버에 기본적으로 접근하는 주소들 (ex.10.12.120.217 신규 1서버) 은 Apache 로 들어가게 되며 80포트로 접근하게 된다.
이때 jsp 파일같은 경우는 Tomcat으로 보내서 Tomcat이 처리하게 하는데 중요한건
Apache와 Tomcat을 연결해줘야 둘이 호환한다는 것.
JkWorkersFile "/usr/local/web/apache2/conf/workers.properties"
JkShmFile "/usr/local/web/apache2/bin/mod_jk.shm"
JkLogLevel info
#JkLogFile "|/usr/local/web/apache2/bin/rotatelogs /usr/local/web/apache2/logs/mod_jk_log.%Y%m%d 86400"
JkLogFile "logs/mod_jk.log"
JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
## Mount Configuration
JkMount /*.jsp node1
#JkMount /*.do node1
JkMount /servlet/* node1
## [ Define Round Robin 2 worker using ajp13 ]
###################################
worker.list=node1,jkstatus #node1 이라는 놈을 만든다.
###################################
## 0. Define loadbalancer
###################################
## 1. Set properties for worker (ajp13)
## worker.list=node1
###################################
worker.node1.type=ajp13 #Apache 와 Tomcat 이 asp13 프로토콜과 주고받는타입.
worker.node1.host=127.0.0.1
worker.node1.port=8009 #node1의 포트. 이건 tomcat의 포트를 의미한다.
worker.node1.lbfactor=1 #로드 벨런싱 관련 프로퍼티.
worker.node1.socket_timeout=300
worker.node1.socket_keepalive=False
## Do not use cachesize with values higher then 1 on Apache 2.x prefork or Apache 1.3.x
## Its default value (eq. connection_pool_minsize) is (connection_pool_size+1)/2
worker.node1.connection_pool_size=1
worker.node1.connection_pool_minsize=1
worker.node1.connection_pool_timeout=60
worker.jkstatus.type=status
※ 혹시 Version 이 바뀌어 mod_jk 이 정상작동하지 않을시(Log를 보면 확인가능) 아파치 사이트에서 mod_jk 관련 문서를 받아서 설정값을 살펴보도록 한다.
위와같이 했다면 연결이 끝났다~! 이제 Apache를 Restart시킨다. 그리고 웹에 접근하면 첫화면이야 잘나오겠지만
실제 jsp가 Tomcat 과 연동지 않는것을 알수있다. 이부분은 Tomcat 에 필요한 웹 서비스가 Context로 등록되지 않았기 때문이다. Tomcat 의 administration 에서 tomcat server/Service /Host/Context 에 필요로 하는 웹 서비스가 있는지 확인하고 없다면 등록하면 된다.