Linux/Apache Tomcat Connection

Apache, Tomcat 연동을 위한 설정

Soul-Learner 2012. 6. 14. 13:38

Fedora 11에서 Tomcat 6, Apache 연동을 위한 설정

Tomcat 6, Apache 2.2를 연동하여 Load Balancing을 설정하는 예는 여기를 참조하세요


환경

Linux Fedora 11, OpenJDK 6, Tomcat 6, Apache 2.2

웹호스팅 환경에서 테스트했으며 구체적으로 cafe24.com의 [가상서버 호스팅] 이라는 상품을 사용함


연동을 위한 설치

Fedora 11에서 OpenJDK 설치

Fedora 11에서 Tomcat 6 설치

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 파일 생성하기 

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 파일 생성하기 

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 파일을 두고자 한다면 여기를 참조하세요