IT_Server/Web_Server & WAS

[펌] Apache + Tomcat + mod_jk 설정 후 AJP 연결하는 서버 환경 설정

JJun ™ 2015. 2. 11. 02:47



 * 출처

 : http://webterror.net/?p=1609



아파치 + 톰캣 설정하는 방법

Apache와 Tomcat을 연동하는 이유

Tomcat 서버는 본연의 임무인 서블릿 컨테이너의 역할만 하고, Apache HTTP Server는 웹서버의 역할을 하도록 각각의 기능을 분리하기 위해 연동을 할 수 있다. Apache HTTP Server에서 제공하는 편리한 기능을 사용하기 위해서 연동을 할수 있다. 대규모 사용자가 사용하는 시스템을 구축할 때 웹 서버인 아파치와 연동을 하면 부하 분산의 효과를 가질 수 있다. mod_jk의 Load Balancing과 FailOver기능을 사용하여 안정적으로 운영 할 수 있다.

Apache와 Tomcat 연동하기

@@ mod_jk 다운로드 및 설정
http://www.apache.org/dist/tomcat/tomcat­connectors/jk/binaries/windows/
에서 버전에 맞는 파일을 다운 받아 $APACHE_HOME/modules 디렉토리에 복사한다.
Apache HTTP 서버 2.2.x 버전을 설치하였다면 tomcat­connectors­1.2.37­windows­i386­httpd­2.2.x.zip 파일을 다운 받는다.
httpd.conf 파일의 LoadModule 부분에 mod_jk Module을 추가한다.

@@ 우분투에서 다음의 커맨드로 설치가 가능하다.

@@ httpd.conf 파일

# jk_module 추가
LoadModule jk_module modules/mod_jk.so

@@ 우분투에서 활성화, 그러나 패키지를 설치하면 자동으로 enable 되어 있을 것이다.

workers.properties 파일 설정

Apache와 tomcat를 연동하기위해서는 workers.properties 파일을 설정해야 한다.
$APACHE_HOME/conf/workers.properties 파일을 아래 예제와 같이 생성한다.
workers.properties 파일은 일반적으로 httpd.conf 파일과 같은 디렉토리에 위치하게 설정한다.

%% 참고
톰캣 워커는(Tomcat worker) 웹서버로부터의 서블릿 요청을 톰캣 프로세스(Worker)에게 전달하여 요청을 처리하는 톰캣 인스턴스이다.
대부분 하나의 worker를 사용하나, load 밸런싱이나 site 파티셔닝을 위해 여러개의 worker를 사용 할 수 있다.
워커 타입에는 ajp12, ajp13, jni, lb 등이 있다.

workers.properties 경로 지정

httpd.conf 파일에 workers.properties 파일 경로를 지정한다.

@@ httpd.conf 파일

VirtualHost 설정 변경

@@ $APACHE_HOME/conf/vhosts/extra/httpd­vhost.conf 파일의 VirtualHost의 DocumentRoot를 Tomcat 디렉토리로 변경하자

@@ JkMount 설정을 추가하자 httpd­-vhost.conf 파일 설정

Tomcat의 server.xml 수정

태그의 docBase 디렉토리를 Apache HTTP Server 설정과 동일하게 Tomcat 서버의 webapps/ROOT 디렉토리를 절대경로로 지정하자.
원하는 디렉토리를 Document Root로 사용하면 된다.

우분투에서 mod-jk 설정

@@ jk.conf 파일 내용 확인하기

@@ Jsp Application이 설치된 곳을 가르키도록 설정

@@ server.xml에서 인식하고 있는 HOST 설정.

아래처럼 appBase 경로 아래에는 ROOT가 있어야 한다.

우선적으로 커넥터가 2개가 있는데 다음과 같이 구분해서 생각해야 한다.

1. 톰캣에서 HTTP 프로토콜로 연결해 주는 서블릿 커넥터, 따라서 아래의 8080 포트로 웹페이지가 제대로 나와야 한다.
2. AJP 프로토콜, 즉 아파치에서 /*.jsp로의 요청이 왔을때에는 무조건 ajp13 워크로 톰캣에게 던진다. 따라서 DocumentRoot /var/lib/tomcat7/webapps/ROOT/ 해당 위치와는 별개로 생각해서 세팅해야 한다.

@@ 로그확인하기

우분투에서 톰캣 환경 보는 방법