IT_Programming/Dev Tools

[펌] Apache(아파치)와 Tomcat(톰캣)을 Eclipse(이클립스)에 연동하기

JJun ™ 2009. 4. 12. 20:45

 

출처: http://cafe.naver.com/jokerx04.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=646

 

 

1. 이젠 톰캣을 설치하자.

http://tomcat.apache.org/ 에서 톰캣을 다운받는다. 현재 최신버젼은 6.0.18 .

톰캣설치는 앞서말한바와 같이 압축만 풀면 되니 설명은 패스. 설치할 디렉토리에 푼다.

 

 

2. http://tomcat.apache.org/download-connectors.cgi 에서 연동파일을 다운 받는다.

 

다운 받을 파일은 다음과 같다.

mod_jk-1.2.26-apache-2.0.59.so is for Apache 2.0, and works with Apache 2.0.59 and later.
   Rename to mod_jk.so before putting it in your Apache2/modules directory.

mod_jk-1.2.26-apache-2.2.4.so is for Apache 2.2, and works with Apache 2.2.4 and later.
   Rename to mod_jk.so before putting it in your Apache2.2/modules directory.

isapi_redirect-1.2.26.dll is for IIS 5 and later Web Server.
nsapi_redirect-1.2.26.dll is for Sun onE Web Server 6.1 and later (formerly Netscape iPlanet).

 

아파치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.png 를 찾아보려 했는데 실패했다. (당시 당연히 서비스는

죽어있었지만...*^^*) 앞서 웹 서버 설정시 HTTP Server는 로컬 HTTP Server를 사용하는 것을 의미하기

때문에 프로젝트내 내용은 아파치설치폴더/htdocs아래 복사(동기화)된다.

 

다소 설정상의 귀차니즘은 있지만 설정이후의 컴파일 속도는 static resource를 빼고 수행하기 때문에 훨씬

빨라진 것을 확인 할 수 있을 것이다.