Apache2 + Tomcat5 + mod_jk 설정 질문입니다.
1. 원하는 설정
아파치에 Virtual Host 3개를 설정하고 각 호스트 별로 들어오는 Request를 처리하는데 Virtual Host별로 html 경로와 Jsp, servlet를 경로를 다르게 설정하기를 원함
2. 현재 설정 상태
2.1 Apache 설정
* httpd.conf
....
Listen 9955
Listen 9966
Listen 9977
...
JkWorkersFile "conf/workers.properties"
JkLogFile "logs/mod_jk.log"
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]
....
LoadModule jk_module modules/mod_jk.so
* workers.properties
worker.list=localhost, host1, host2, host3
worker.localhost.type=ajp13
worker.localhost.host=localhost
worker.localhost.port=8009
worker.host1.type=ajp13
worker.host1.host=host1
worker.host1.port=8009
worker.host2.type=ajp13
worker.host2.host=host2
worker.host2.port=8009
worker.host3.type=ajp13
worker.host3.host=host3
worker.host3.port=8009
* httpd-vhosts.conf
NameVirtualHost 192.169.0.90:9955
NameVirtualHost 192.169.0.90:9966
NameVirtualHost 192.169.0.90:9977
ServerAdmin root@localhost DocumentRoot /home/host1/html ServerName host1 ErrorLog logs/host1-error_log CustomLog logs/host1-access_log common JkMount /host1 host1 JkMount /host1/* host1
ServerAdmin root@localhost DocumentRoot /home/host2/html ServerName host2 ErrorLog logs/host2-error_log CustomLog logs/host2-access_log common JkMount /host2 host2 JkMount /host2/* host2
ServerAdmin root@localhost DocumentRoot /home/host3/html ServerName host3 ErrorLog logs/host3-error_log CustomLog logs/host3-access_log common JkMount /host3 host3 JkMount /host3/* host3
2.2 tomcat 설정
* server.xml
resourceName="UserDatabase"/>
unpackWARs="true" autoDeploy="true" xmlValidation="false"
xmlNamespaceAware="false">
unpackWARs="true" autoDeploy="true" xmlValidation="false"
xmlNamespaceAware="false">
unpackWARs="true" autoDeploy="true" xmlValidation="false"
xmlNamespaceAware="false">
unpackWARs="true" autoDeploy="true" xmlValidation="false"
xmlNamespaceAware="false">
2.3 그외에 한 짓
web.xml의 revoker의 주석을 제거하고 hosts 파일에 host1, host2, host3에 대해 설정함.
테스트를 위한 Jsp 파일을 각 호스트의 /home/host명/webapps/host명/ 밑과
/home/host명/webapps/에 생성함.
3. 현재 Request에 대한 처리 상태
* Host별 html에 대한 처리는 잘 처리 됨 => Apache Virtual 설정 OK
* http://192.168.0.90:8890 처리 => Tomcat 처음 페이지 잘 나옮, 8890 포트는 Tomcat 디폴트에서 변경 함.
* http://192.168.0.90:9977/host 명 => HTTP Status 404 - /host명/ 나옮
* server.xml의 defaultHost 명을 localhost에서 각 host명으로 바꿔주면 변경된 host에 대해서는 처리 잘 처리 되지만 localhost를 포함해서 다른 host에 대해서는 HTTP Status 404 가 나옮.
누구 저와 같은 문제로 고생하셨던 분 해결 방법 좀 알려주시면 감사하겠습니다.
쩝 이것 땜시 몇일 고생이네요.
댓글 달기