tomcat5 apache2 mod_jk.so 연동

Jakarta 2007. 12. 20. 10:45
출처: 엄테너님 블로그

URL: http://blog.daum.net/yongs19/9007631?nil_profile=blog



tomcat5 apache2 mod_jk.so 연동



tomcat5 와 apache2 , mod_jk.so 연동하는 한글문서는 그리 많지 않은거 같아
삽질하면서 일단 성공은 했습니다.
간단한 작업기록을 남깁니다. 오류가 있으면 고수님들의 정정을
부탁드립니다.

운영체제 : SULinux 1.0 ( 얼마전 리눅스전시회에서 회원가입하고 받은 시디로 설치)
A.P.M 설치환경 : apache 5.0.55, php 5.1.2 , mysql 5.0.18
웹루트 : /usr/local/apache



==== tomcat5 설치 ====

0) 자바가상머신 jdk 1.5 버전을 java.sun.com 에서 rpm 으로 다운받아 설치
/etc/profile 등에 JAVA_HOME 과 PATH 에 bin 경로 등록
내 경우 /usr/java/jdk-1.5xxx 하는걸 ln -s 명령어로 /usr/java/jdk 로 해서
JAVA_HOME 으로 쓰고 있습니다.



1) http://tomcat.apache.org/download-55.cgi 에서
http://mirror.apache.or.kr/tomcat/tomcat-5/v5.5.17/bin/apache-tomcat-5.5...
톰캣 5.5.17 버전 다운로드



2) /usr/local 에 압축풀고 링크걸어서 /usr/local/tomcat 을 톰캣 홈으로 지정



3) http://localhost:8080 으로 톰캣 실행 확인

==== mod_jk.so ====
아파치 연동 모듈은 mod_jk2.so 도 있는데 이상하게도 버전이 더 높을거 같은 jk2 는
더이상 개발이 중단되고 mod_jk.so 가 더 활발하게 개발되는 듯



1) http://tomcat.apache.org/connectors-doc/ 에서 1.2.15 소스를 다운받음.
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.15/...
컴파일된 바이너리는 1.2.6 혹은 1.2.14(64비트용) 밖에 없어서 최신 소스컴파일하기로
함. 최신이라고 해봤자 작년 11 월이 마지막 업데이트된듯.



2) 소스 압축풀고 jk/native 디렉토리에 들어가서 루트권한으로..
# ./configure --with-apxs=/usr/local/apache/bin/apxs
# make
# make install 하면
mod_jk.so 파일이 /usr/local/apache/modules 에 생성됨 , 만약 없으면 컴파일한 곳에서
복사해서 apache/modules 디렉토리로 복사함. 이 mod_jk.so 파일 하나만 필요함.



==== apache2 와 연동하기 ====



1) /usr/local/apache/conf 디렉토리에 mod_jk.conf 파일 생성
(예제 파일 - /examples context 를 샘플로 사용)
Alias /examples /usr/local/tomcat/webapps/examples
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /examples/servlet/* ajp13
JkMount /examples/*.jsp ajp13



2) httpd.conf 파일에서 위 mod_jk.conf 를 불러옴.

## httpd.conf 제일 마지막에 아래 한줄 추가
Include conf/mod_jk.conf

그리고 DirectoryIndex 지시자에 index.jsp 도 추가해줌.



3) /usr/local/apache/conf 디렉토리에 workers.properties 파일 생성(혹은 복사)
이 파일은 mod_jk 컴파일한 디렉토리의 conf 에 minimal 로도 있는데 그것 사용해도 될듯.
쓸데 없이 길게 된듯.

workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/java/jdk
ps=/
worker.list=ajp12, ajp13
worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
worker.ajp12.lbfactor=1

worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1

worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp12, ajp13
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
worker.inprocess.cmd_line=start
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stder



4) /usr/local/tomcat/webapps/examples 디렉토리 생성, 위 mod_jk.conf 에서 JkMount 할
곳임. 그리고 그안에 간단한 index.jsp 파일을 생성해둠.



5) 톰캣과 아파치 재시작



6) 웹브라우저로 http://localhost/examples 라고 하면 위에서 만든 index.jsp 가
정상적으로 떠야 됨. 참고로.. 이렇게 테스트하면서 tomcat의 server.xml 파일은
건드리지 않았습니다.

설정

트랙백

댓글