Apache WebServer와 Tomcat 연동을 AJP를 이용하여 연동가능
그 연동 방법은 Tomcat에서 제공하는 mod_jk 모듈과 mod_proxy 를 이용하는 두가지 방법이 있다.
웹서버로 들어오는 요청을 웹서버 뒤에 있는 애플리케이션 서버로 위임할 수 있는 바이너리 프로토콜이다.
애플리케이션 서버로 핑을 할 수 있는 모니터링 기능을 지원하고 일반적으로 하나 이상의 프론트엔드 웹서버가 하나 이상의 애플리케이션 서버에 로드밸런싱 되는 배포에서 AJP를 사용한다.
세션은 라우팅 메커니즘을 사용항 올바른 애플리케이션 서버로 리다이렉션 된다.
AJP는 HTTP 포워딩 용도로만 사용되기 때문에 안전하지 않다.
- Apache와 Tomcat이 연동 되기 위해선 AJP를 통해 서로 통신을 하여야한다.
- AJP(Apache Jserv Protocol)는 웹서버로 들어오는 요청을 웹서버 뒤에 있는 애플리케이션 서버로 위임할 수 있는 바이너리 프로토콜
- Apache HTTP Server, Apache Tomcat, 웹스피어, 웹로직 JBoss, JEUS, 등 다양한 WAS 지원
- AJP는 HTTP의 내용을 포워드 용도
Apache와 Tomcat을 연동하기 위한 모듈로써 AJP를 이용하여 Apache에 들어온 요청중 Tomcat이 처리할 요청을 AJP 포트 (Default 8009)를 통해 Tomcat에 전달하고 그에 대한 응답을 받는 역할을 수행
# vi 를 통하여 httpd.conf 파일을 수정
$~ cd /apche 설치경로/httpd/conf
$~ vi httpd.conf
# mod_jk.so 파일 연동을 위한 설정
#mod_jk.so 모듈의 위치
LoadMoule jk_module /etc/httpd/modules/mod_jk.so
#workers.properties 설정 파일 위치
JkWorkersFile /etc/httpd/conf/workers.properties
#mod_jk log 위치
JkLogFile /etc/httpd/logs/mod_jk.log
#Load balancing workers will not function properly 오류 대응
JkShmFile /etc/httpd/logs/mod_jk.shm
# /* 요청을 모두 tomcat01으로 넘긴다.
JkMount /* tomcat01
Apache와 연동할 worker(Tomcat)들을 설정한다.
vi /etc/httpd/conf/workers.properties
worker.list=tomcat01 // apache와 연동할 tocmat을 입력한다.
worker.tomcat01.port=8009 // AJP 포트
worker.tomcat01.host=127.0.0.1 // tomcat host, AJP Connector 설정의 address와 일치하도록 설정
worker.tomcat01.type=ajp13 // ajp 1.3 사용