반응형

  아래 글을 쓰기 위해 사용한 환경은 다음과 같습니다.
  - MS Windows 7 ultimate 64bit
  - Apache 2.2.21
  - Apache Tomcat 6.0.35
  - mod_jk 1.2.31


  제가 예전에 공부했던 JSP(Java Server Page) 페이지를 좀 만들어보려고 톰캣(tomcat)을 설치했습니다.

  그런데 톰캣만 사용하기에는 일반적인 웹서버가 아니라서 80번 포트로 접속되는게 아니라 8080이나 사용자가 정의한 포트로 접속하는 거라서 약간의 불편함이 있지요. 아래 그림 처럼 말이죠.. 귀여운 고양이를 만나기 위해 8080포트를 꼭 명시해 줘야 합니다 ㅠ


  또 톰캣은 http 서버를 내장하지만 정적 페이지를 로딩하는데에 웹 서버보다 수행 속도가 느리기 때문에 아파치(apache) 같은 정적인 페이지를 로드하는데 사용하는 웹 서버와 연동해서 사용합니다.

  그래서 저도 아파치를 설치하고 톰캣과 연동해서 사용하기로 했습니다. 이렇게 하면 정적인 페이지는 아파치가 jsp 나 서블릿은 톰캣이 처리하게 되죠.

  본격적으로 아파치와 톰캣이 정상적으로 설치되었다는 가정하에 연동 방법에 대해 설명드리겠습니다.

  우선 http://mirror.apache-kr.org//tomcat/tomcat-connectors/jk/binaries/windows/ 에서 톰캣 커넥터를 다운로드 받습니다. 저는 윈도우의 아파치 웹서버 환경이라서 위 링크로 따라갔지만 다른 환경(IIS같은 다른 웹서버 또는 다른 운영체제)이라면 당연히 다른 경로와 파일을 선택해서 다운 받으셔야합니다. 

 



다운로드가 완료되면 파일 앞축을 풀고 mod_jk.so 파일아파치 설치 폴더 아래의 modules 폴더에 복사합니다.

아파치설치폴더\modules\



  그 다음은 아파치 설치 폴더 아래의 conf 폴더에 있는 설정 파일인 httpd.conf 파일을 조금 수정해줍니다. 찾아보시면 LoadModule로 시작하는 줄들이 죽~ 있는 것을 보실 수 있는데  거기에 다음 한 줄을 추가해 줍니다.

LoadModule jk_module modules/mod_jk.so

모듈을 로드하고 그 모듈의 so 파일이 있는 위치를 정해 준것이라 생각하시면 되겟네요.

다음은 마지막 즈음에 다음을 추가해 줍니다.

Include conf/mod_jk.conf

  jk_module에 대한 설정을 적은 파일을 httpd.conf에 포함시켜주는 것이죠. jk_module에 대한 설정 파일을 따로 만들기 싫으시면 그 파일의 내용을 위 한 줄 대신 써주시면 됩니다.

  저는 설정 파일을 따로 만들기로 했으니 위에 적은 경로인 아파치 설치 폴더 아래의 conf 폴더에 mod_jk.conf라는 파일을 만들겠습니다. 방금 말씀 드렸듯이 이 방법이 싫다면 아래 내용을 httpd.conf 파일에 직접 추가하시면 됩니다.

JkWorkersFile "F:/Apache2.2/conf/workers.properties"
JkLogFile "F:/Tomcat 6.0/logs/mod_jk.log"
JkLogLevel error
JkAutoAlias "F:/Tomcat 6.0/webapps"
JkMount /* ajp13
JkUnmount /*.php ajp13
<Directory "F:/Tomcat 6.0/webapps">
 Options Indexes FollowSymLinks
 allow from all
</Directory>

  그리고 다음은 상자 첫줄에 있는 workers.properties 파일을 작성해 줍니다.
  첫 줄에 톰캣이 설치된 경로, 둘째 줄에 자바가 설치된 경로입니다. 나머지 부분은 내공이 부족하여 설을 못드리겠습니다. ㅠㅠ
  이렇게 하면 된다는 것 까지밖에.. 어쩌면 불필요한 줄이 있을지도 모르겠군요. 고수님의 댓글 부탁드립니다.!!

workers.tomcat_home="F:/Tomcat 6.0"
workers.java_home="F:/Java/jdk1.6.0_30"
ps=/
 
worker.list=ajp12, ajp13
worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
worker.ajp12.lbfactor=1
 
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
 
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp12, ajp13
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
worker.inprocess.cmd_line=start
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stder

  이렇게 모든 과정을 거치는 동안 느낀 것은 거의 모든 작업은 텍스트파일에 의해 이루어 진다는 것입니다. 사람이 이해하기 좋으면서 가장 단순한고 왜곡이나 압축 없이도 그 용량이 적은 것은 텍스트가 아닐까 생각되네요.

  아파치와 톰캣을 다시 시작한 후 결과는 다음과 같습니다.
  이제 80번 포트로 접속해도 귀여운 고양이 한마리가 웃고 있네요 ^^연동이 잘 되었군요!!


반응형

+ Recent posts