2013/06/12 18:04

apache 2.2.x + tomcat 7.x 연동. Server/WAS



흠,
일단 이전 프로젝트에서 apache + weblogic은 진행을 해봤었기 때문에,
이번에 운영팀에서 들어온 apache + tomcat 설정 요청은 기회라고 생각했다.. 

원활하게 잘 진행되지는 않았지만,
삽질을 한 만큼 많은걸 느끼고 배우게 된 기회인거 같다.

그만큼,, 아직 멀었다는 생각이 들기도 하고.. 

암튼,, 
삽질한 내용들,, 정리해 본다.. 

apache 2.2.x + tomcat 7.x 연동!(window 32bit 서버기준.)

1. apache 2.2.x 를 내려받는다.(http://httpd.apache.org/download.cgi)
뒤에도 나오겠지만,, 버전이 참 중요하다.
이 버전에 따라서 tomcat connector의 버전도 변경되기 때문이다.
이거 때문에도 삽질 좀 했다..;;

2. tomcat 7.x 를 내려받는다.(http://tomcat.apache.org/download-70.cgi)
톰켓의 버전은 그다지 중요한거 같지 않다.
내 프로젝트 환경의 jdk 버전과 같은 tomcat을 설치해야 한다는건 기본상식!
여기서 한가지 더 팁으로,,
기왕이면 install 버전이 아닌, zip버전을 받도록 한다.
설치하는게 아니라, zip을 통하면 bin 폴더의 startup 또는 shutdown 명령을 사용할 수 있다.
로그 등을 보는게 훨씬 편해진다.. 

apache 버전에 유의해서 바이너리를 다운받는다. 
그리고 이 파일을 apache 설치 폴더 내, 
modules 폴더에 복사해서 넣는다..

혹시 윈도우 서버라면 몇 bit 환경인지도 체크가 필요하다.. 

4. 설정.
가. httpd.conf 파일. (apache / conf 에 위치)
-------------------------------

LoadModule jk_module modules/mod_jk.so

<IfModule mod_jk.c>

    JkWorkersFile conf/workers.properties
    JkLogFile logs/mod_jk_new.log
    JkLogLevel error
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
    JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
    JkRequestLogFormat "%w %V %T"

    JkMount /*.jsp example

</IfModule>

-------------------------------
설정 관련해서는 이곳을 참고한다.(http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html)

위의 내용중에 IfModule 안의 내용은 프로젝트 환경에 맞게끔 수정해 준다.
특히 JkMount 부분을 통해 apache가 처리할지, tomcat으로 위임할지를 결정하게 된다.
위 셈플의 내용은 모든 jsp로 끝나는 요청은 tomcat으로 처리를 위임하게 된다.

그리고 실제로 tomcat으로 위임하는 부분은 JkWorkersFile 을 통해서 정의된다.

나. workers.properties 파일. (apache / conf 에 위치)
-------------------------------

workers.tomcat_home=C:\wwww\tomcat-7.0.40
workers.java_home=C:\Program Files\Java\jdk1.7.0_17
ps=\

worker.list=example

# Set properties for worker 'example' (ajp13)
worker.example.type=ajp13
worker.example.host=localhost
worker.example.port=8009

-------------------------------

대략 위와같이 정리하는데,
보면 알만한 내용은 제외하고, 
포트 정보가 tomcat의 설정과 일치하면 된다.
즉 apache에서 처리 위임되어 넘어간다면
일반적인 톰켓 포트인 8080이 아니라,
8009포트를 이용해서 넘어가게 되는 것이다.

이렇게만 처리해주고,
tomcat이 정상적으로 기동된다면,, 
apache와 tomcat은 잘 연결 될 것이다.

아,
참고로,,
정적콘텐츠 내용을 apache에서 처리하도록 하려면,, 
apache / htdocs 아래에 이미지 등을 넣어두면
apache가 처리하게 된다.
물론 그런 파일들을 tomcat으로 처리 위임되도록 하면,
안되겠죠?

대충 정리했는데,
시간 내서 다시 깔끔하게 정리를 좀 해야겠다..

휴... 어렵군.. 

덧글

  • 말근우슴 2015/07/31 14:45 # 답글

    같은 카테고리 내 'apache + tomcat 연동관렵 다양한 팁 및 삽질 후기..' 글을 참고해 주세요..
댓글 입력 영역