본문 바로가기
IT/Web

아파치+톰캣 연동

by 최고영회 2013. 12. 21.
728x90
반응형
SMALL


1. 설명
    - JSP로 웹사이트를 구축시 웹컨테이너로 톰켓, 제우스, 웹스피어, 웹로직, 레진 등.. 많이 쓰이고 있다.

      주로 무료인 톰켓을 쓰게 되어 아파치와 연동하기로 해보자.

      참고로 톰켓 및 아파치, OS 등 응용프로그램의 버전의 영향에도 설정이 미칠 수 있으니 주의 하도록 하자.

 

2. 자료 버전

    - JAVA : JDK5

    - 톰켓 : Tomcat 5.5.28

               (http://mirror.apache-kr.org/tomcat/tomcat-5/v5.5.28/bin/apache-tomcat-5.5.28.exe)

               (파일버전과 인스톨버전이 있지만 쉽게 인스톨버전을 받자)

    - 아파치 : Apache HTTP Server 2.0.63

       (http://mirror.apache-kr.org/httpd/binaries/win32/apache_2.0.63-win32-x86-openssl-0.9.7m.msi)

    - OS : Windows7 32bit

    - 톰켓 아파치 연동 커넥터 :jakarta-tomcat-connecttors-jk2.0.4-win32-apache2.0.49

       (http://archive.apache.org/dist/tomcat/tomcat-connectors/jk2/binaries/win32/jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49.zip)

    - 참고 : 커넥터 jk도 있고 jk2도 있다. 어느것에 따라 설정 방법이 달라질 수 있음을 참고하자.

                그리고 위의 파일들은 모두 window용 32bit용이다.

 

2. 아파치 설정

    - 특별한 특이사항 없이 위의 파일들을 설치하자.

       (JDK설치후 톰켓을 설치해야하고, 아파치 설치시 입력해야할 것들은 locahost 및 메일주소를 써주면 된다.)

 

    - 아파치 설치 위치를 가보도록 하자. (사용자마다 차이가 있음)

       D:\Servers\Apache\

       "conf" 폴더와 "modules" 폴더 사용

 

    - 톰켓 아파치 연동 커넥터 압축파일을 풀게되면 그 폴더안에 "modules" 폴더가 있고 그안에 mod_jk2.so 파일이 있다.

       이 파일을 복사한 후 D:\Servers\Apache\modules  안에 넣자.

 

    -  D:\Servers\Apache\conf 폴더에 httpd.conf 파일을 수정하도록 하자.

       (httpd.conf파일은 아파치설정의 환경설정 파일이다.)

        아래의 두줄이 추가되어야 하는데 위치는 LoadModule이라고 검색후 그 비슷한 위치에 두도록하자.

        LoadModule jk2_module modules/mod_jk2.so
        JkSet config.file "       D:/Servers/Apache/conf/workers2.properties"

        (JkSet config.file 위치는 사용자가 아파치를 설치한 경로의 conf 폴더안으로 하자. workers2.properties는 곧추가한다.)

     

    -  그리고 웹파일이 존재하는 ROOT 설정을 위해 즉, http://localhost/를 쳤을때 의..

        DocumentRoot "D:\html"

       <Directory "D:\html">

 

 

 

    -  아파치와 톰켓을 연동하는 workers2.properties 파일을 생성해서 수정해보자.

[logger.apache2]
level=DEBUG

 

[shm]

# 아파치의 설치경로
file=D:\Servers\Apache\logs\shm.file
size=1048576
debug=0
disabled=0

 

[channel.socket:localhost:8009]

#톰켓의 포트 및 IP
port=8009
host=127.0.0.1

 

[ajp13:localhost:8009]
channel=channel.socket:localhost:8009

 

# 이부분이 중요하다. url 의 톰켓과의 매핑이 될 부분. (/*.jsp 란 모든 접속한 파일 확장자중 .jsp로 끝난다면 톰켓으로

# 넘기게 된다. 아래의 /*.do 역시 마찬가지로서 스트럿츠2 및 서블릿의 경우 때문에 추가했다.

[uri:/*.jsp]
worker=ajp13:localhost:8009

 

[uri:/*.do]
worker=ajp13:localhost:8009

 

3. 톰켓 설정

    - JDK 설치 후 톰켓을 설치 하였다면 

       D:\Servers\Apache\Tomcat    이 위치에서

       "conf" 라는 폴더가 있을 것이다. 그안에 톰켓의 환경설정을 기재하는 server.xml 이 있다.

       JSP 개발자라면 수없이 만졌던 파일일 것이다.

       커넥터와 웹 ROOT를 설정하는

<Connector URIEncoding="UTF-8" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" port="8009" redirectPort="8443" protocol="AJP/1.3"/>

 

 

<Host></Host> 사이에 아래와 같이 <Context>를 추가해준다.

<Context docBase="D:\html" path="" reloadable="true">

4. 마무리

    - 톰켓을 먼저 실행후 아파치를 실행한다.

      (아파치 실행할때 에러가 발생하면 차근차근 오류를 찾아보고 설치도 다시해보고 해보자.--)

      여기까지 간단히 설명하면 이미지 나 html 파일인 정적인 페이지들은 아파치가 웹 서비스를 처리하고

      jsp 및 do로 끝나는 접근은 톰켓이 처리하게 될 것이다. 그러므로 톰켓에 부담을 덜어주어 웹 사이트를 보다 .. 빠르게?

      느끼지는 못하겠지만.. 톰켓하나로도 모든 서비스가 가능하나 유지보수 및 간혹 큰 프로젝트에서는 이처럼 분리하여

      개발환경을 셋팅하게 된다. 

728x90
반응형
LIST