2009년 8월 13일 목요일

Apache2.2.9 + Tomcat 6.0.20 mod_jk 연동하기

[시스템 환경]

OS : CentOS 5.3(Final)

WAS : Apache 2.2.9

JAVA : JDK.6.1.6

Servlet Container : Tomcat 6.0.20

Tomcat Connector : tomcat-connectors-1.2.28

 

$JAVA_HOME=/usr/local/java

$CATALINA_HOME=/usr/local/tomcat

$HTTPD_HOME=/usr/local/httpd

 

[mod_jk 설치]

mod_jk을 다운로드 한다.

[root@ APM] wget http://apache.tt.co.kr/tomcat/tomcat-connectors/jk/source/jk-1.2.28/tomcat-connectors-1.2.28-src.tar.gz

 

압축을 해제한다.

[root@ APM] # tar zxvf tomcat*

[root@ APM] # cd tomcat*

[root@ tomcat-connectors-1.2.28-src] # cd native

 

./configure 파일을 생성하고 실행시킨다.

[root@ native] # ./configure --with-apxs=$HTTD_HOME/bin/apxs

[root@ native] # make && make install

 

tomcat_native 설치하기 위해 apr-devel을 설치한다.

[root@ native] # yum intall apr*

[root@ native] # cd $CATALINA_HOME/bin

[root@ bin] # tar zxvf tomcat-native.tar.gz

[root@ bin] # cd tomcat-native-*

[root@ tomcat-native-1.1.16-src] # cd jni/native

[root@ native] # ./configure --with-apr=/usr/bin/apr-1-config \

> --with-java-home=$JAVA_HOME

> --with-ssl=yes

> --prefix=$CATALINA_HOME

[root@ native] # make && make install

 

[workers.properties 생성하기]

[root@ native] vi $HTTPD_HOME/conf/workers.properties

worker.list=tomcat1

worker.tomcat1.port=8009

worker.tomcat1.host=localhost

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor=20

worker.inprocess.type=jni

 

[server.xml 수정하기]

[root@ native] # vi $CATALINA_HOME/conf/server.xml

<server port="8005" shutdown="SHUTDOWN">

<Listener className="org.apache.jk.config.ApacheConfig" modJk="/usr/local/httpd/modules/mod_jk.so" workersConfig="/usr/local/httpd/conf/workers.properties" />

.....

 

[root@ native] # /etc/init.d/tomcat restart

 

정상적으로 수행된다면 아래의 경로에 mod_jk.conf 파일 생성

[root@ native] # cd $CATALINA_HOME/conf/auto

[root@ auto] # ls -al

mod_jk.conf

[httpd.conf 수정하기]

[root@ auto] # cd $HTTPD_HOME/conf

[root@ conf] # vi httpd.conf

# Load mod_jk module
# Update this path to match your modules location
LoadModule jk_module /usr/local/httpd/modules/mod_jk.so

 

# Where to find workers.properties
# update this path to match your conf directory location
JkWorkersFile /usr/local/httpd/conf/workers.properties

 

# Where to put jkshared Memory
JkShmFile /var/log/httpd/mod_jk.shm

 

# where to put jk logs
JkLogFile /var/log/mod_jk.log

 

# Set the jk log level [debug/error/info]
JkLogLevel info

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkRequestLogFormat "%w %V %T"

 

# test page

Alias /examples /usr/local/tomcat/webapps/examples

JkMount /examples/servlets/* tomcat1

JkMount /examples/jsp/* tomcat1

 

.....

다음의 DocumentRoot 값들을 변경한다. httpdoc 값을 변경

DocumentRoot "/usr/local/tomcat/webapps/ROOT/"

 

....

 

<Directory "/usr/local/tomcat/webapps/ROOT">

[root@ conf] # /etc/init.d/httpd restart

 

[확인하기]

웹 브라우져에서 해당 서버로 접근을 시도한다.

http://192.168.10.128

DocumnetRoot 설정이 tomcat으로 돌려놓았기 때문에 tomcat 화면이 보일 것이다.

그럼, 각각 jsp-example, servlet-example 등의 예제들을 실행시켜 보자.

제대로 실행이 된다면 연동이 제대로 성공한 것이다.

댓글 없음:

댓글 쓰기