톰캣은 그 자체만으로 웹서비스를 하기에는 무리가 따른다. 또한 JSP 개발자는 톰캣만 사용해도 되지만 PHP, ASP 등의 개발을 동시에 하기에는 어렵다 하겠다.
아파치와 톰캣을 연결하는 방법은 여러가지가 있다.
(1)WARP 커넥터
이 방법은 초기에 많이 사용한 방법으로 아파치 1.3 버전에서 mod_webapp 모듈을 사용하여 연결을 하였으나 최근에는 사용되지 않는 방법이기도 하다.
(2)JServ 커넥터
이 방법은 초기에 유닉스(리눅스)에서 아파치 1.3 버전과 톰캣을 연결하기 위하여 사용하였는데 윈도우용으로 개발된 모듈도 있으나 이도 최근에는 지원되지 않는 방법이다.
(3)coyote 커넥터
코요테를 이용하는 방법으로 이 방법도 최근에는 권장되지 않는 방법이다.
(4)jk 커넥터
최근들어 가장 활발하게 사용하는 방법이고 아파치와 톰캣의 연동은 이 방법으로 연결하게 된다.
(5)jk2 커넥터
jk 커넥터를 새로이 개발된 커넥터이고 성능도 우수하다고 하지만 jk 커넥터가 보다 유용하게 사용되고 또한 아파치 그룹에서도 개발이 jk 보다 뒤로 밀려 있는 상태이다.
jk 커넥터를 이용한 아파치와 톰캣의 연동
우선 다운받은 파일의 압축을 풀고 보면 다음과 같은 mod_jk 파일이 있다.
mod_jk-apache-1.3.so : 아파치 1.3 버전용
mod_jk-apache-2.0.so : 아파치 2.0 버전용
mod_jk-apache-2.2.so : 아파치 2.2 버전용
mod_jk-apache-2.2.4so : 아파치 2.2.4버전용(어떻게 다른지는 모르나 Coyote에 있는 모듈을 같이 압축하였다.
아파치의 버전에 맞는 jk 커넥터를 선택하여 아파치가 설치된 경로의 아파치 모듈이 있는 곳 (예를 들면 C:\RWAPM\Apache\modules)에 복사한 다음 mod_jk.so로 이름을 바꾸어 놓는다.
이제는 아파치의 환경설정 파일인 httpd.conf를 아파치가 설치된 경로의 conf 디렉토리에서 찾아서 편집기로 열도록 한다. 예를 든 환경설정은 RWAPM에서 수정한 것이므로 행번호가 다를 수 있다.
90행 부근에 LoadModule jk_module modules/mod_jk.so을 추가 한다.
(다른 경우에는 LoadModule을 찾아서 마지막 부근에 추가해 주면 된다.)
또한 예는 215행 부근에 다음을 추가하였는데 <IfModule ...> ... </IfModule>내부만 아니면 적당한 곳에 넣어주면 된다.
여기에서 tong 이라는 이름은 적당한 이름을 사용하면 되고 이 이름 workers.properties (다른 이름이면 어떠한가?) 파일에서 다시 사용되므로 무난한 이름을 사용하면 될 것이다.
위와 같이 아파치의 환경설정 파일(httpd.conf)을 수정하였으면 다음의 내용을workers.properties라는 파일로 만들어 아파치가 설치된 경로의 conf 디렉토리에 저장한다.
worker.list=tong
worker.tong.type=ajp13
worker.tong.host=localhost
worker.tong.port=8009
위의 과정을 마쳤다면 아파치를 다시 시작한다.
시작하면서 오류가 보이지 않고 정상적이라면 환경설정이나 jk 모듈을 로딩하는데 이상이 없으나 오류 메세지가 보인다면 아파치 버전과 jk 모듈의 버전, 그리고 오타 등의 내용을 확인해 본다.