[이클립스] 이클립스에서 아파치 톰캣 연동하기 vol2.
지난 장에선 사설이 넘 길어 아파치 설치하는 것만 하고 마치고 말았다.ㅋ
트레이창에 아파치서비스 모니터링 아이콘을 확인할 수 있다. 오른쪽 마우스를 클릭 Open Apache Monitor를 선택하여 아파치를 구동/정지할 수 있다. 톰캣의 경우 압축만 풀면 되지만 아파치의 경우 설치하게 되면 서비스에 등록이 된다.
설치시 자동으로 초기설정되기 때문에 윈도우 시작등 리소스를 소모하는 부분도 있어
일단 먼저 Open Services를 클릭하여 Apache2.2를 자동에서 수동으로 변경한다(안해도 상관은 없다.대신 가끔 시스템이 느려질수 있다)
1. 이젠 톰캣을 설치하자.
http://tomcat.apache.org/ 에서 톰캣을 다운받는다. 현재 최신버젼은 6.0.18 .
톰캣설치는 앞서말한바와 같이 압축만 풀면 되니 설명은 패스. 설치할 디렉토리에 푼다.
2. http://tomcat.apache.org/download-connectors.cgi 에서 연동파일을 다운 받는다.
다운 받을 파일은 다음과 같다.
Rename to mod_jk.so before putting it in your Apache2/modules directory.
Rename to mod_jk.so before putting it in your Apache2.2/modules directory.
아파치2.2 이상은 mod_jk-1.2.26-apache-2.2.4.so 파일을 다운 받으면 된다.
3. 다운받은 파일을 mod_jk.so로 이름을 변경후 아파치설치폴더/modules 에 복사한다.
4. 아파치설치폴더/conf 에서 httd.conf를 수정한다
LoadModule 어쩌구저쩌구 하는 부분 아래쪽에 다음과 같이 추가한다.
LoadModule jk_module modules/mod_jk.so
그리고 맨 아래 다음과 같은 구문을 추가한다.
Include conf/mod_jk.conf
5. 아파치설치폴더/conf에 mod_jk.conf 파일을 만들어 넣는다.
아파치와 톰캣연동을 위한 설정부분으로 mod_jk.conf의 내용은 다음과 같이 작성하면 된다.
JkWorkersFile "아파치설치폴더/conf/workers.properties"
JkLogFile "톰캣설치폴더/logs/mod_jk.log"
JkLogLevel error
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkRequestLogFormat "%w %V %T"
JkAutoAlias "톰캣설치폴더/webapps"
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /jsp-examples ajp13
JkMount /jsp-examples/* ajp13
JkMount /url ajp13
<Directory "톰캣설치폴더/webapps">
Options Indexes FollowSymLinks
allow from all
</Directory>
6. 아파치설치폴더/conf에 workers.properties 파일을 만들어 넣는다.
workers.tomcat_home="톰캣설치폴더/webapps"
workers.java_home="JDK또는 JRE설치위치"
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
7. 이제 아파치와 톰캣연동은 끝.
아파치와 톰캣설정은 끝났기 때문에 이클립스에서 웹프로젝트를 작성 후 확인해보면 된다.
이클립스에서 서버설정은 Window>Preferences>Server>Installed Runtime 에서 할 수 있다.
톰캣은 Apache 폴더 아래에서 6.0을 선택한후 설치 디렉토리를 지정하면 되고
아파치는 Basic폴더 아래에서 HTTP Server를 선택한 후 아파치 설치 디렉토리/htdocs 를 지정하면 된다.
아니면 프로젝트 생성시 New Project에서 Static Web Project 또는 Dynamic Web Project를 선택 후
Target Runtime의 옆에 있는 New 버튼을 클릭하여 등록할 수도 있다.
전장에서 말한 바와 같이 dynamic content(서블릿,JSP,필터,관련메타데이터)를 제외한 content-based 웹 어플리케이션을 구현하고자 할때 static Web Project를 선택한다. 물론 당연히 dynamic Web Project에서도 static resource들을 등록/관리할 수 있다.
특이한점은 Static Web Project의 경우 Dynamic Web Project와 달리 서버탭에서는 항상 status가 started 상태에 있다는 것을
확인할 수 있다.처음엔 서비스로 등록되기 때문에 서비스를 죽이면 이클립스에서 Dynamic Web Project에서처럼 아파치를 구동/정지하지 않을까 하고 생각했는데 그것과는 무관했다. 첨엔 status가 started여서 http://localhost/img/sample.jpg 를 찾아보려 했는데 실패했다. (당시 당연히 서비스는 죽어있었지만...*^^*) 앞서 웹서버설정시 HTTP Server는 로컬 HTTP Server를 사용하는 것을 의미하기 때문에 프로젝트내 내용은 아파치설치폴더/htdocs아래 복사(동기화)된다.
다소 설정상의 귀차니즘은 있지만 설정이후의 컴파일 속도는 static resource를 빼고 수행하기 때문에 훨씬 빨라진 것을 확인 할 수 있을 것이다.
'개발 이야기 > 이클립스' 카테고리의 다른 글
2. 웹로직과 이클립스 연동하기 - 웹로직 테스트 (0) | 2009.03.27 |
---|---|
1. 웹로직과 이클립스 연동하기 - 웹로직 10.3 설치 (0) | 2009.03.27 |
[이클립스] 이클립스에서 아파치 톰캣 연동하기 vol1. (0) | 2008.09.23 |
[WTP] CHKJ4019W Warning (0) | 2008.02.25 |
[Eclipse] serialVersionUID 자동생성하기 (0) | 2008.02.05 |