아파치2-톰캣5 연동 :: Apache2 Tomcat5 mod_jk integration
1 Apache 2.0
[code]
$ tar xvfz httpd-2.0.49.tar.gz
[/code]
$ ./configure --prefix=PREFIX
$ make
$ make install
$ PREFIX/bin/apachectl start
[/code]
여기서 PREFIX는 apache가 설치될 디렉토리이다. --prefix=PREFIX를 생략하면 /usr/local/apache2에 설치된다.
2003년경의 모 아티클에는 아파치 인스톨시에 configure --prefix=/usr/local/apache --enable-module=so 와 같이
모듈 옵션을 주라고 하는데 최근 문서로 확인 해 봐야 할 듯.
$ PREFIX/bin/apachectl stop
[/code]
2 J2SE
$ ln -s /usr/java/j2sdk1.4.2_04 /usr/local/java
[/code]
JAVA_HOME=/usr/local/java export JAVA_HOME
[/code]
3 Tomcat 5
[code]
$ tar xvfz jakarta-tomcat-5.0.19.tar.gz
[/code]
[code]
$ $CATALINA_HOME/bin/startup.sh
[/code] 여기서 $CATALINA_HOME은 tomcat이 설치된 디렉토리이다.
[code]
$ ln -s /usr/jakarta-tomcat-5.0.19 /usr/local/tomcat
[/code]
[code]
$ $CATALINA_HOME/bin/shutdown.sh
[/code]
4 mod_jk2.so
[code]
$ ./configure --with-apxs2=PREFIX/bin/apxs
$ make $ cd ../build/jk2/apache2
$ PREFIX/bin/apxs -n jk2 -i mod_jk2.so
[/code]
5 httpd.conf
[code]
#LoadModule foo_module modules/mod_foo.so
[/code]
와 같은 형식으로 되어 있는 곳을 찾아 그 아래에
[code]
LoadModule jk2_module modules/mod_jk2.so
[/code]
를 추가한다.
[code]
Alias /icons/ "/usr/local/apache2/icons/"
[/code] 와 같은 형식의 행을 찾아 그 아래에
[code]
Alias /jsp-examples/ "/usr/local/tomcat/webapps/jsp-examples/"
Alias /servlets-examples/ "/usr/local/tomcat/webapps/servlets-examples/"
[/code]
를 추가한다.
[code]
DocumentRoot "/www"
[/code]
로 바꾸고 저장하고 아래와 같이 심볼릭 링크를 한다.
[code]
$ ln -s /usr/jakarta-tomcat-5.0.19/webapps/ROOT /www
[/code]
* 이렇게 아파치의 DocumentRoot 와 톰캣의 DocRoot를 바로 연결 하기보단 톰캣의 가상호스트 설정으로 돌리는 쪽이 훨씬
나은 방법이라고 생각 함.
*위 방법대로 설정 시 ContextRoot가 / 가 되는 것은 위에 설정한 톰캣 ROOT밖에 없다.
*위 설명에서와 같이 아파치의 DocumentRoot 와 톰캣의 DocRoot 심볼릭 링크로 걸지 않고 톰캣의 Host설정만으로도 충분함.
6 workers2.properties
[channel.socket:localhost:8009]
port=8009 host=127.0.0.1
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
[uri:/*.jsp]
worker=ajp13:localhost:8009
[uri:/servlets-examples/*]
worker=ajp13:localhost:8009
[/code]
* 위 5번 httpd.conf 수정시 제 방식대로(아파치 DocumentRoot와 톰캣의 ROOT를 심볼릭으로 엮지않는 방법) 톰캣의 HOST를
설정하는 방식을 따른다면 아래의 내용을 추가하여 모든 uri에 대해 톰켓이 알 수 있도록 다음을 추가 합니다.
[code]
[uri:/*]
worker=ajp13:localhost:8009
[/code]
7 Virtual Host
[uri:www.kldp.net/*.jsp]
worker=ajp13:localhost:8009
[uri:www.kldp.net/servlets-examples/*]
worker=ajp13:localhost:8009
[uri:www.kldp.org/*]
worker=ajp13:localhost:8009
[/code]
8 LB(로드 발란서)
9 apache 실행
$ PREFIX/bin/apachectl start
[/code]
10 tomcat 실행
$ $CATALINA_HOME/bin/startup.sh
또는
$ $CATALINA_HOME/bin/catalina.sh start
[/code]
정말 어렵게 해놨네