상세 컨텐츠

본문 제목

IIS + tomcat

프로그래밍/시스템, 서버구축

by 라제폰 2009. 1. 6. 13:05

본문

톰캣과 IIS의 연동을 위한 셋팅방법 (환경 : Tomcat 4.1.24, IIS 5.0, jk-connector 1.2.4 )

 있어야 할 것들.....
 http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release
 위에서 최신버젼의 isapi_redirect.dll를 다운로드한다.
 톰캣과 IIS는 설치되어 있을 것.....

 톰캣과 IIS를 연동하기 위해서는 세 개의 파일이 필요한데 다음과 같다.

 1. isapi_redirect.dll (위에서 다운로드 받은 것 <CATALINA_HOME/conf에 저장해 둔다.)
 2. workers.properties  ( <CATALINA_HOME>/conf 에 만들도록 한다. )
 3. uriworkermap.properties  ( <CATALINA_HOME>/conf 에 만들도록 한다. )



먼저 레지스트리를 셋팅해 줘야 한다. 다음 그림은 셋팅을 완료했을 때의 그림이다.


                                             

 HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0
 와 같이 key를 만들어준다.





문자열

extension_uri

/tomcat/isapi_redirect.dll

worker_file

<CATALINA_HOME>/conf/workers.properties

worker_mount_file

<CATALINA_HOME>/conf/uriworkermap.properties

log_file

<CATALINA_HOME>/logs/jk_iis.log

log_level

debug   ( debug, info, error, emerg 의 종류가 있는데 의미는 모르겠음... )

위 테이블의 내용을 똑같이 입력한다. (의미는 뒤에 나옴)

지금까지의 셋팅을 모두 마쳤다면 이번에 IIS쪽 셋팅을 해준다.
IIS 콘솔을 오픈한다.

        

위의 그림처럼 [기본 웹 사이트]에서 오른쪽 버튼을 클릭한 후 [새로 만들기]를 선택한다.

                   

별칭을 "tomcat"으로 준다. 이 이름은 앞서 extension_uri값을 입력할 때의 값과 같아야 한다.

                    


이 [웹 사이트 컨텐트 디렉터리]는 아까 isapi_redirect.dll 파일을 넣어둔곳을 지정해야 한다.
앞에서 이 파일을 <CATALINA_HOME>/conf 에 넣어 뒀으므로 이곳을 선택한다.

                    


[읽기], [스크립트 실행 (예: ASP)], [실행 (예: ISAPI 응용 프로그램 또는 CGI)]를 체크한다.

위의 과정을 모두 마치면 tomcat이라는 이름의 가상 디렉토리가 만들어진다.
여기서 다시

           

[기본 웹 사이트]에서 오른쪽 버튼을 클릭한 후 이번엔 [등록 정보]를 클릭한다.

                       

 여러 탭중 [ISAPI 필터] 탭을 선택한 후 추가 버튼을 누른다.

                       


필터 이름에 [tomcat]을 실행 파일에는 isapi_direct.dll 파일이 위치한 곳(<CATALINA_HOME>/conf 를 말함)을 선택한다.

확인한 후 마친다. 다시 등록정보를 선택해 들어가보면 다음 그림처럼 왼쪽에 녹색의 화살표가 나타나게 된다.

                        

이제 workers.properties와 uriworkermap.properties 파일에 다음과 같은 값을 넣어준다.

[workers.properties]
worker.list=testWorker
worker.testWorker.port=8009
worker.testWorker.host=localhost
worker.testWorker.type=ajp13

[uriworkermap.properties]
/examples/*=testWorker
/examples/*.jsp=testWorker
/examples/servlet/*=testWorker



이제 톰캣과 IIS를 재구동한 후 URL에 다음과 같이 입력해 본다.

http://localhost/examples/jsp/index.html
http://localhost/examples/servlets/index.html

혹시 실행이 되지 않는다면 위의 내용을 다시 살펴보고 오자나 탈자가 없는지 점검해 본다.

아니면 시스템을 다시 부팅한 후 테스트해 본다.

[톰캣 Context 등록하여 사용하기]

만약 톰캣에 "home"이라는 Context를 하나 등록하여 사용하고 있다고 하면
( http://localhost:8080/home/index.html )

이것을 http://localhost/home/index.html 와 같이 사용하려면 다음과 같이 workers.properties와 uriworkermap.properties 파일을 수정해 주면 된다.

[workers.properties]
worker.list=testWorker, homeWorker
worker.testWorker.port=8009
worker.testWorker.host=localhost
worker.testWorker.type=ajp13
worker.homeWorker.port=8009
worker.homeWorker.host=localhost
worker.homeWorker.type=ajp13 

[uriworkermap.properties]
/examples/*=testWorker
/examples/*.jsp=testWorker
/examples/servlet/*=testWorker
/home/*=homeWorker
/home/*.jsp=homeWorker
/home/servlet/*=homeWorker



homeWorker를 새로 만들지 않고 기존의 testWorker를 사용해도 된다.


위과 같이 셋팅을 해놓게 되면 /home/의 .html 이나 .gif 같은 정적인 파일도 모두 톰캣에서 처리를 해주게 된다. 이것을 IIS에서 처리하도록 셋팅해주는 방법은 다음과 같다.

위와 같이 /home/ 이라는 Context가 있다면 IIS로 같은 이름의 가상 디렉토리를 만든다.
그리고 uriworkermap.properties 파일을 열어 다음과 같이 수정해준다.

[uriworkermap.properties]
/examples/*=testWorker
/examples/*.jsp=testWorker
/examples/servlet/*=testWorker
/home/*.jsp=homeWorker                       // jsp 파일만 처리하도록
/home/servlet/*=homeWorker                 // /home/*=homeWorker 부분을 없애주면 된다.


관련글 더보기