Apache, Tomcat 연동을 위한 설정
Fedora 11에서 Tomcat 6, Apache 연동을 위한 설정
Tomcat 6, Apache 2.2를 연동하여 Load Balancing을 설정하는 예는 여기를 참조하세요
환경
Linux Fedora 11, OpenJDK 6, Tomcat 6, Apache 2.2
웹호스팅 환경에서 테스트했으며 구체적으로 cafe24.com의 [가상서버 호스팅] 이라는 상품을 사용함
연동을 위한 설치
Apache는 기본 설치된 그대로 사용
환경변수 참고(/etc/profile)
JAVA_HOME="/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64"
CATALINA_HOME="/var/lib/tomcat6"
PATH="$PATH:$JAVA_HOME/jre/bin"
export JAVA_HOME CATALINA_HOME PATH
접속모듈 다운로드
다음 페이지로 접속하여 최신버전의 모듈(tomcat-connectors-1.2.37-src.tar.gz)을 다운로드한다
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/
tomcat-connectors-1.2.37-src.tar.gz
압축해제
#tar xzvf tomcat*<enter>
압축해제 후 생성된 native 디렉토리 안으로 이동하여 다음 명령을 실행한다
#cd tomcat*/native<enter>
apxs의 경로를 검색하여 아래의 명령을 실행한다
#find / -name "apxs"<enter>
--> /usr/sbin/apxs
./configure –with-apxs=/usr/sbin/apxs<enter>
#make
#make install
mod_jk.conf 파일 생성하기
아파치 설정파일(httpd.conf)이 있는 경로를 검색하여 확인하고 그 안으로 이동한다
#find / -name "httpd.conf"<enter>
-->/etc/httpd/conf/httpd.conf
#cd /etc/httpd/conf<enter>
#vi mod_jk.conf<enter>
<IfModule mod_jk.c>
JkWorkersFile "/etc/httpd/conf/workers.properties"
JkLogFile "/var/log/tomcat6/mod_jk.log"
JkLogLevel info
JkAutoAlias "/var/lib/tomcat6/webapps"
JkMount /* ajp13
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /examples/*.jsp ajp13
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
</IfModule>
workers.properties 파일 생성하기
아파치 설정파일이 있는 디렉토리(/etc/httpd/conf)에 workers.properties 파일을 생성한다
#vi workers.properties<enter>
workers.tomcat_home="/var/lib/tomcat6"
workers.java_home="/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64"
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
아파치 설정파일(httpd.conf) 변경하기
httpd.conf파일을 열고 스크롤 다운하여 LoadModule 항목이 끝나는 행 아래에 다음 내용을 추가한다
LoadModule jk_module modules/mod_jk.so
--참고: 위의 파일명(mod_jk.so)은 설치된 모듈의 파일명과 일치해야 하므로 다음과 같이 검색하여 파일명을 확인해야 한다.
#find / -name "mod_jk*.so"<enter>
-->/usr/lib64/httpd/modules/mod_jk.so
httpd.conf의 가장 마지막 행에 다음 내용을 추가한다
include conf/mod_jk.conf
연동 테스트
톰캣 시작
#service tomcat6 start<enter>
아파치 시작
#apachectl start<enter>
참고 Apache는 80번 포트, Tomcat은 8080번 포트에서 실행되는 것으로 간주함(설치할 때 디폴트로 설정된 포트)
웹브라우저로 요청
http://IP-Address<enter> --> Apache 에서 요청을 접수하고 톰캣으로 전달하여 톰캣의 기본 페이지가 출력됨
http://IP-Address:8080<enter> --> Tomcat 에서 요청을 접수하여 톰캣의 기본 페이지가 출력됨
JSP 파일은 /var/lib/tomcat6/webapps/ROOT/ 안에 저장하고 테스트하면 된다.
만약 위와 같이 webapps/ROOT/ 를 사용하지 않고 별도의 Context를 설정하여 그 곳에 JSP 파일을 두고자 한다면 여기를 참조하세요