1. mod_jk를 받는다
stable버전확인 : http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/ 에 가보면 stable한 버전이 1.2.15라고 한다. 그러므로 1.2.15를 받는다
2. 아파치를 받고 설치한다
현재 2.2.2버전까지 나와있으나2.2.2버전은 무슨이유에선지 mod_jk모듈을 읽지 못했다
위에서 받은 mod_jk의 이름을 자세히 보면 아파치 2.0.55라고 되어있다
그렇다 저게 apache 버전인거였던 것이다 삽질 겁나게했다 그래서 2.0.58을 받았더니 정상작동했다
다운로드 : http://ftp.apache-kr.org/httpd/httpd-2.0.58-win32-src.zip
3. tomcat을 받고 설치한다
다운로드 : http://ftp.apache-kr.org/tomcat/tomcat-5/v5.5.17/bin/apache-tomcat-5.5.17.exe
4. 설정
4.1 환경변수를 설정해준다
필자가 설정한 환경변수는 다음과 같다
APACHE_HOME
TOMCAT_HOME
JAVA_HOME (혹시 jdk를 안깔고 이걸깔려는건 아니겠죠 -0-;ㅎㅎㅎ)
다 각각의 루트 디렉토리를 넣어주면 된다 (ex. 예를들어 tomcat을 깐디렉터리가 C:\tomcat이면 TOMCAT_HOME = c:\tomcat이 되는것입니당)
4.2 APACHE_HOME\modules\에다가 아까 받은 mod_jk를 넣어준다
4.3tomcat을 설정하자
TOMCAT_HOME\conf\server.xml을 열어 다음과 같은 부분을 찾는다
<Engine name="Catalina" defaultHost="localhost">
저 밑에다가 다음과 같이 쳐넣는다
<Listener className="org.apache.jk.config.ApacheConfig" modJk="모듈경로" />
※모듈경로는 4.2의 파일 이름까지 포함한 경로명이 되겠다 필자의 모듈경로는 담과 같다
<Listener className="org.apache.jk.config.ApacheConfig" modJk="C:/Apache2/modules/mod_jk-apache-2.0.55.so" />
4.4 이제 신기한 일이 벌어진다 톰캣을 리스타트 하자!!
TOMCAT_HOME의 conf 디렉터리에 두개의 디렉터리가 생겼을것이다
auto --> mod_jk.conf파일이 들어있다
jk --> 비어있다
auto폴더에 있는 mod_jk.conf파일을 jk폴더로 카피해준다
4.5 Apache를 설정하자
APACHE_HOME\conf\httpd.conf파일을 열어 마지막줄에 다음을 쳐넣는다
Include <4.4의 df디렉터리에 있는 mod_jk.conf>
필자껀 이렇다
Include c:/tomcat5.5/conf/jk/mod_jk.conf
4.6 apache랑 tomcat을 리스타트 한다
5. Test
5.1 apacheTest
익스플로러 띄우고 주소창에 http://localhost 라고 쳐보자
위그림처럼 나오면 OK!
5.2 tomcatTest
익스플로러 띄우고 주소창에 http://localhost:8080 라고 쳐보자
위그림처럼 나오면 ㅇㅋ
5.3 apache+tomcat연동 테스트
마찬가지로 익스플로러 띄운후 다음주소를 입력해보자
http://localhost/servlets-examples/servlet/HelloWorldExample
다음과 같이 나오면 ㅇㅋ
6. 마무리 ㅋㅋ
아 잘된다~ 하루종일 고생해서 했더니 더 뿌듯하다 그러나!
옆개발자한테 함 들어와보삼 했더니 안들어와 진단다 이런 샹~그릴라 같은.......
6.1 문제발생
익스플로러를 띄우고 다음과 같이 쳐보자
http://<자신의 IP>/servlets-examples/servlet/HelloWorldExample
그럼 이렇게 나온다 쉣
아래쪽에 mod_jk/1.2.15뭐 어쩌고 저쩌고하는거 보니 mod_jk는 잘됐나보다 그런데 왜 이지랄일까?
4.4에서 만들어진 mod_jk.conf파일을 자세히 보자
########## Auto generated on Wed Jul 19
<IfModule !mod_jk.c>
LoadModule jk_module "C:/Apache2/modules/mod_jk-apache-2.0.55.so"
</IfModule>
<VirtualHost localhost>
ServerName localhost
JkMount /webdav ajp13
JkMount /webdav/* ajp13
JkMount /servlets-examples ajp13
JkMount /servlets-examples/* ajp13
JkMount /jsp-examples ajp13
JkMount /jsp-examples/* ajp13
JkMount /balancer ajp13
JkMount /balancer/* ajp13
JkMount /host-manager ajp13
JkMount /host-manager/* ajp13
JkMount /tomcat-docs ajp13
JkMount /tomcat-docs/* ajp13
JkMount /manager ajp13
JkMount /manager/* ajp13
</VirtualHost>
버철 호스트 어쩌고 저쩌고 있다 -_-;; 음,,,, 일단 지워보자
<IfModule !mod_jk.c>
LoadModule jk_module "C:/Apache2/modules/mod_jk-apache-2.0.55.so"
</IfModule>
JkMount /webdav ajp13
JkMount /webdav/* ajp13
JkMount /servlets-examples ajp13
JkMount /servlets-examples/* ajp13
JkMount /jsp-examples ajp13
JkMount /jsp-examples/* ajp13
JkMount /balancer ajp13
JkMount /balancer/* ajp13
JkMount /host-manager ajp13
JkMount /host-manager/* ajp13
JkMount /tomcat-docs ajp13
JkMount /tomcat-docs/* ajp13
JkMount /manager ajp13
JkMount /manager/* ajp13
이렇게 만들어 버렸다 물론 저렇게 만들고 세이브 했다
6.2 아파치를 리스타트 한후 다시 테스트 해보자
테스트 유알엘 : http://<나으아이피>/servlets-examples/servlet/HelloWorldExample
이제 된다 ㅡㅜ;;;
7 진짜 마무리
mod_JK는 아파치와 톰캣을 이어주는 아파치 모듈이다
아파치에서 설정해주는게 귀찮아 저렇게 자동 conf파일을 생성해주는것이 아닌가? 하는 생각이 든다
맨날 퍼다 나르다가 직접 쓰고 보니, 다른분들의 노고에 눈에서 땀이날 지경이다 쓰다가 귀찮아져버려서 마무리를 제대로 못한것 같다 나중에 진짜 나중에 정말 심심하면 업데이트를 약속해본다
다시한번 유용한 정보를 웹에 이쁘게 올려주시는 님들에 대한 노고에 심심한 감사의 말씀을 드리면서.... 이만~