Apache 2 와 Tomcat 5.x 를 연동하기 위해 JK 커넥터를 이용해 연동 하는 방법을 찾았습니다.

쉽게 되나 봅니다.

================================================================================================
Apache 2.2.4 + Tomcat 5.5.23 를 mod_jk를 이용 간단하게 연결하는 방법에 대해 알아보겠습니다.

  JDK와 Apache, Tomcat의 설치과정은 Installer를 통하면 간단하고 문서도 많으므로 생략하겠습니다. 일단 편의상 Apache는 c:\apache에 Tomcat은 c:\tomcat에 설치한것으로 가정하고 설명하겠습니다.

  이 방식의 Tomcat의 auto-configure 방식을 이용한 것으로 한 하드웨어에 tomcat과 apache가 같이 존재 할 경우에만 유용합니다.

1) mod_jk 다운로드
  mod_jk를 http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.25/ 에 가서 mod_jk-apache-2.2.4.so 를 다운받아 c:\apache\modules에 저장합니다. 저장한후 mod_jk.so로 파일 이름을 변경합니다.

2) tomcat 설정
  c:\tomcat\conf\server.xml를 에디터로 열고 <Engine …> 태그를 찾습니다. 그 아래 다음과 같이 <Listener …> 태그를 추가 합니다.

 <Engine name=”Catalina” defaultHost=”localhost”>
       <Listener className=”org.apache.jk.config.ApacheConfig”
                                            modJk=”c:/apache/modules/mod_jk.so” />
 

  그리고 tomcat을 실행합니다. 그러면 c:\tomcat\conf\auto\mod_jk.conf 파일이 생성된것을 볼 수 있습니다.

 ########## Auto generated on Thu Sep 06 17:16:17 GMT 2007##########

<IfModule !mod_jk.c>
  LoadModule jk_module “modules/mod_jk.so”
</IfModule>

<VirtualHost localhost>
    ServerName localhost

    JkMount /admin ajp13
    JkMount /admin/* ajp13

    JkMount /servlets-examples ajp13
    JkMount /servlets-examples/* ajp13

    JkMount /jsp-examples ajp13
    JkMount /jsp-examples/* ajp13

    JkMount /host-manager ajp13
    JkMount /host-manager/* ajp13

    JkMount /tomcat-docs ajp13
    JkMount /tomcat-docs/* ajp13

    JkMount /manager ajp13
    JkMount /manager/* ajp13
</VirtualHost>

  “modules/mod_jk.so” 부분이 “modules/mod_jk.dll”로 되어있는 경우 “modules/mod_jk.so”로 바꿔줍니다. <VirtualHost> 태그안에 추가할 디렉토리가 있으면 넣어줍니다 c:\tomcat\webapps\ROOT 에서도 *.jsp 파일을 돌리시려면 <VirtualHost> 태그안에
 

 <VirtualHost localhost>
  ….
    JkMount / ajp13
    JkMount /* ajp13

  ….

</VirtualHost>

  와 같이 추가합니다.

  그리고 c:\tomcat\conf\auto\mod_jk.conf 의 mod_jk.so 파일을 c:\tomcat\conf\jk 로 복사합니다.

3) Apache 설정
  c:\apache\conf\httpd.conf 파일을 열어 제일 하단에 다음을 추가합니다.
 Include “C:/tomcat/conf/jk/mod_jk.conf”
 

4) 설정 확인

  도스 창에서 아래와 같이 입력하고 “Syntax OK”가 나오면 정상적으로 설정이 된것입니다.
 c:\apache\bin\httpd.exe -t

 Syntax OK

5) 실행 확인

  익스플로러를 열고 http://localhost/jsp-examples 를 입력했을시 화면이 정상적으로 뜨면 모든 연동이 완료된 것입니다. 아까 ROOT 디렉토리도 설정에 포함시켰다면 http://localhost 를 하면 Tomcat의 정상 실행 화면을 보실 수 있습니다.
 

6) 마무리

  그동안 여러가지 설정 방법이 나와 있었는데.. 이렇게 간단한 방법이 있는 것을 몰랐네요… 많은 분들이 이 글을 보고 쉽게 연동 할 수 있길 바랍니다.

================================================================================
[추가]

APACHE
-apped in conf

LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so

<IfModule jk_module>
   JkWorkersFile /etc/tomcat6/workers.properties
   JkShmFile /var/log/apache2/mod_jk.shm
   JkLogFile /var/log/apache2/mod_jk.log
   JkLogLevel info
   JkLogStampFormat “[%a %b %d %H:%M:%S %Y]”
</ifModule>

<VirtualHost *:8080>
        ServerAdmin webmaster@localhost

# append below
        JkMount /myTest/* ajp13

Tomcat
    server.xml
– active
    <Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ />

– create  “workers.properties”
worker.list=ajp13
worker.ajp13.type=ajp13
worker.ajp13.host=localhost
worker.ajp13.port=8009
worker.ajp13.lbfactor=1
worker.ajp13.connection_pool_timeout=600
worker.ajp13.socket_keepalive=1

Leave a Reply

Your email address will not be published. Required fields are marked *