아파치 웹서버와 톰캣 JSP/서블릿 컨테이너를 직접 연동하기 !
앞서서 둘을 연동하는 이유에 대해 알아봤습니다.
한마디로 정리하면 톰캣만으로도 JSP 파일을 처리할 수 있는 웹서버가 될 수 있지만,
다양한 아파치의 기능과 효율적인 처리를 위해 아파치를 연동한다고 할 수 있습니다.
그렇다면 mod_jk를 이용하여 연동해보겠습니다.
사실 둘이 잘 설치되어있다면, 연동하는것은 간단합니다.
일부글에서는 어디를 어떻게 수정한다. 무슨파일을 만든다. 하고 너무 복사하면서 따라하게 되는것 같다는 생각이 드네요.
그래서 부족하지만 그보다는 더 자세하게 알고 연동해야하는것이 아닐까 생각합니다.
본격적으로 연동을 하면,
환경
OS : CentOS release 5.5 (Final)
일단 아파치와 톰캣은 설치되어 있다고 가정합니다.
1. mod_jk를 설치.
둘을 연동하려면 연동할 매개가 필요합니다. mod_jk가 그 매개체입니다.
mod_jk는 apache foundation 에서 구할 수 있습니다.(자세한 설치 자체의 과정은 다시 정리하겠습니다. 굉장히 길게 되겠죠 아마..설치중에 뭐가 자꾸 업다고 하면 받고 설치하고..ㅋㅋ)
임의로 아파치 경로 = /opt/ext/apache 라고 해둘게요. 햇갈려서
mod_jk를 받아 아파치의 modules에 추가됨을 확인해야 정상적으로 완료된 것입니다.
설치는 다음과 같습니다.
modjk tar파일을 압축을 푼 후,
native directory에서 ./configure --with-apxs=아파치경로/bin/apxs
ll /opt/ext/apache/modules/mod_jk.so #해당 파일이 존재하는지 확인.
2.Httpd.conf 수정.
모듈을 아파치에 설정했으므로, 설정도 아파치를 고쳐야합니다.
아파치가 설치된 경로에 conf 디렉토리안의 httpd.conf 를 열어 수정합니다.
맨아래에
#Httpd.conf파일
#..
#..
LoadModule jk_module modules/mod_jk.so #modules디렉토리의 mod_jk.so 모듈을 로드
JkWorkersFile "conf/workers.properties"
JkLogFile "logs/mod_jk.log" #log를 어디에 남길지 지정합니다.
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " #로그를 어떠한 형태로 남길지 지정합니다.
JkRequestLogFormat "%w %V %T"
JkMount /*.do worker1 #해당 확장자를 처리한 worker를 지정합니다
JkMount /*.jsp worker1 #해당 확장자를 처리한 worker를 지정합니다
JkMount /servlet/* worker1 #해당 확장자를 처리한 worker를 지정합니다
conf 디렉토리에 위에서 경로로 설정한 파일을 생성하고 아래와 같이 저장합니다.(conf/workers.properties)
worker.list=worker1
worker.worker1.type=ajp13 #프로토콜
worker.worker1.host=localhost #호스트
worker.worker1.port=8009 #포트
이로서 연동과정을 마치겠습니다.
간략히 정리하면 mod_jk 설치, httpd.conf 수정 worker.properties 생성
으로 간단히 구성가능합니다.
리눅스에서 아파치를 설치하거나, 톰캣을 설치 연동 하는것에 대해서는 다음에 자세히 해볼 계획입니다.
아 마지막으로 정상적으로 작동했는지 확인하려면
apache tomcat을 재시작하고,
http://localhost/index.jsp 가 동작해야합니다.
왜냐하면
http://localhost:80 가 나와야 아파치가 정상적으로 설치 , 실행되는 것이고,
http://localhost:8080 이 나와야 톰캣이 정상적으로 설치 , 실행되는 것입니다.
이때 연동이 되었다면 http://localhost 의 80 포트로 jsp를 보냈을때 톰캣화면이 나와야 하므로 이처럼 테스트해야 합니다.
만약 404페이지 오류가 난다면 다시한번 확인을 해봐야 합니다.
mod.jk에 대해 설정이 잘 되어있다면, 위에서 설정한 mod_jk의 로그나 아파치의 로그들을 본다면
문제를 발견할 수 있을 것입니다.
이상입니다~
'Apache,Tomcat' 카테고리의 다른 글
java.lang.NoClassDefFoundError: javax/servlet/Filter 문제 (0) | 2015.01.21 |
---|---|
Apache redirect & rewrite diff (http to https) (0) | 2014.04.22 |
기존 설치된 apache tomcat mysql에 php 연동.연동 방법 (0) | 2014.01.13 |
Apache Tomcat 연동하기 - 3.Root 설정,연동페이지,image,css 오류 (0) | 2013.11.07 |
Apache Tomcat 연동하기 - 1.연동하는 이유 (4) | 2013.11.07 |