준호씨의 블로그
OSX - tomcat과 httpd를 같은 포트로. mod_jk 설정하기 2. mod_jk httpd에 설정하기 본문
지난 글에서 mod_jk.so를 빌드하는 방법을 알아보았습니다.
이번 글에서는 지난번에 빌드한 mod_jk.so를 httpd에 설정해서 tomcat과 연동해 보겠습니다.
httpd의 기본 설정 파일은 httpd.conf입니다. httpd.conf에 mod_jk 관련 설정을 바로 넣을 수도 있지만 설정 파일을 분리해보겠습니다. 제가 설치한 httpd의 설정 파일은 /usr/local/etc/httpd/httpd.conf 에 있습니다.
mod_jk 디렉터리를 만들고 mod_jk.conf 파일을 생성합니다. mod_jk.conf의 위치는 /usr/local/etc/httpd/mod_jk/mod_jk.conf 가 되겠습니다.
LoadModule jk_module /usr/local/lib/httpd/modules/mod_jk.so
JkLogLevel error
JkWorkersFile /usr/local/etc/httpd/mod_jk/workers.properties
JkLogFile /usr/local/var/log/httpd/mod_jk.log
JkShmFile /usr/local/var/log/httpd/jk-runtime-status
LoadModule 설정으로 mod_jk.so를 로드합니다. mod_jk는 worker 설정을 불러와서 사용하게 되는데요. /usr/local/etc/httpd/mod_jk에 workers.properties라는 파일을 만들고 내용을 아래처럼 작성합니다.
worker.jkstatus.type=status
worker.list=local_worker
worker.local_worker.port=8009
worker.local_worker.host=localhost
worker.local_worker.type=ajp13
tomcat과 연동되는 설정들입니다. ajp13 버전을 사용하고 포트는 8009입니다. 8009는 tomcat 기본 설정 내용에 아래처럼 생긴 설정을 볼 수 있을 건데요.
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
이 설정과 맞춰주면 됩니다. 이 설정을 통해 httpd로 요청이 들어오면 mod_jk를 통해 tomcat으로 요청을 넘기게 된다고 보면 되겠습니다. 만약 포트를 바꾸고 싶다면 mod_jk의 worker의 설정과 tomcat의 server.xml 설정을 똑같이 맞춰서 바꿔주면 됩니다.
이제 httpd와 tomcat 연동 설정을 마쳤습니다.
레거시 프로젝트 세팅을 하면서 이러한 설정 방식들에 대해서 알아보면서 정리해 보았는데요. 다음에는 servlet 프로젝트를 처음부터 만들어 보면서 개선 방안을 모색해 볼까 합니다.