티스토리 뷰

Programming/server

IIS + Tomcat 연동

Namhyun Sung 2019. 7. 19. 01:41

IIS + Tomcat 연동

보통 Apache나 Nginx와 연동을 많이하는데 근무하고 있는 회사에서는 윈도우 서버도 사용하고 있어서 IIS와 Tomcat을 연동해봤습니다.

1. 연동 환경


연동하기 위한 테스트 환경은,

  • Windows 10
  • Tomcat 9.0.22
  • IIS(Internet Information System)
  • OpenJDK 8
  • Tomcat Connector 1.2.46 (isapi_redirect.dll)

입니다.

2. IIS 설치


IIS 설치는 Windows 기능 켜기/끄기에서 인터넷 정보 서비스 체크 및 하위 디렉토리들을 체크하면 기본 기능이 선택됩니다.

IIS와 톰캣 연동은 IIS의 ISAPI 필터를 통해 구현됩니다. 때문에,

인터넷 정보 서비스 -> 응용 프로그램 개발 기능에서 ISAPI 필터, ISAPI 확장을 추가로 선택해 줍니다.

SetupIIS

3. Tomcat & Tomcat Connector 다운로드 및 설치


톰캣은 https://tomcat.apache.org/download-90.cgi 에 접속하셔서 윈도우용으로 다운받아서 편하신 경로에 설치하면 됩니다.

Tomcat Connector는 https://tomcat.apache.org/download-connectors.cgi 에 접속 하셔서 화면 중간에, Binary Release for selected versions를 클릭하셔서 tomcat-connectors-1.2.46-windows-x86_64-iis.zip를 다운받으면 됩니다.

tc1

tc2

다운 받은 파일의 위치를 설정 하겠습니다.

저는 개발과 관련된 파일은 C:\dev\의 경로에 넣으니 참고해주세요.

우선 C:\dev\ 경로에 Tomcat Connector 이름의 폴더를 만들어 주세요.

그리고 Tomcat Connector안에 bin, conf, log 파일을 만들어주세요.

treefolder

위 그림과 같이 폴더를 만드셨다면, 아까 다운받았던 압축파일 tomcat-connectors-1.2.46-windows-x86_64-iis.zip 을 풀고, isapi_redirect.dllC:\dev\Tomcat Connector\bin 안에 넣어 주세요.

4. Tomcat 확인


톰캣 설치방법은 자세하게 설명 안하겠습니다. 설치 후, conf 폴더 안의 server.xml을 열어서, port번호가 8009, 프로토콜이 AJP/1.3인지 확인합니다.
설치 후, 설정파일을 변경하지 않았다면 보통 아래와 같이 작성되있으니 따로 수정할 필요는 없습니다.

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />               

5. Tomcat Connector 설정


톰캣 커넥터의 내에 dll 파일만 있을 뿐 설정파일이 없습니다. 따라서 직접 설정파일을 만들어줘야 합니다.

우선 C:\dev\Tomcat Connector\binisapi_redirect.properties이라는 이름의 파일을 만듭니다. 이 설정파일은 isapi_redirect.dll과 같이 있어야 하기 때문에 다른 경로에 넣으시면 안됩니다.

isapi_redirect.properties 설정파일의 내용은 아래와 같이 작성합니다.

# 커넥터 dll 파일의 경로
extension_uri=/jakarta/isapi_redirect.dll

# 로그 파일의 저장 위치 및 로그 파일.
# 로그 파일의 경로는 절대경로로 기입한다.
log_file=C:\dev\Tomcat Connector\log\isapi_redirect.log

# 로그 레벨. 로그 레벨은 debug, info, warn, error, trace를 쓸 수 있으며, 일반적으로는 설치시 debug로 설정하여 문제 해결에 활용하고, 오픈 후에는 info로 적용해서 사용하는 것이 일반적이다.
log_level=info

# Tomcat 연동시 사용될 Worker 설정 파일의 경로
worker_file=C:\dev\Tomcat Connector\conf\workers.properties
# Worker와 매핑될 URI의 매핑 설정 파일의 경로
worker_mount_file=C:\dev\Tomcat Connector\conf\uriworkermap.properties

이후에는 isapi_redirect.properties 설정 파일에 지정한 경로에 workers.properties, uriworkermap.properties를 만들어줍니다.

workers.properties 설정 파일은 아래와 같이 작성합니다.

worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

uriworkermap.properties 설정 파일은 아래와 같이 작성합니다.

# URL 중 .do로 끝나거나 .jsp로 끝나는 URL은 모두 worker1 워커를 통해 처리한다
/*.do=worker1
/*.jsp=worker1

6. IIS 설정하기


1. IIS에 웹 사이트 추가하기

IIS 관리자의 왼쪽 트리에서 사이트를 우클릭하고 웹 사이트 추가...를 누릅니다.

WebSiteAdd1
WebSiteAdd2

이름은 Tomcat IIS 연동으로 하겠습니다.

실제 경로는 톰캣 설치 경로\webapps\ROOT를 지정합니다.

저는 80포트로 테스트 하겠습니다. 다른 포트로 지정해도 상관없습니다.

2. ISAPI 및 CGI 제한 설정하기

IIS 관리자의 왼쪽 트리에서 제일 위의 컴퓨터 이름으로 된 디렉터리를 클릭한 후, 가운데 화면에서 ISAPI 및 CGI 제한을 클릭합니다.

isapicgi1

화면 오른쪽의 추가...를 클릭한 후 isapi_redirect.dll이 있는 경로를 입력해주고, 설명은 Tomcat을 넣어주겠습니다. 확장 경로 실행 허용도 체크하고 확인을 누릅니다.

isapicgi2

3. 가상 디렉터리 추가하기

1번에서 추가한 웹 사이트 Tomcat IIS 연동에서 우클릭한 후, 가상 디렉터리 추가...를 선택합니다.

가상 디렉터리는 아래 사진과 같이 설정합니다.

virtualdirectory1

virtualdirectory2

별칭은 isapi_redirect.properties에서 extension_uri에 설정했던 jakarta로 해줘야 합니다.

4. ISAPI 필터 설정하기

Tomcat IIS 연동을 클릭한 후, 가운데 화면에서 ISAPI 필터를 선택합니다.

ISAPIfilter1

들어온 후, 화면 오른쪽 위의 추가...를 선택하고 아래와 같이 설정합니다.

ISAPIfilter2

5. 처리기 매핑 설정

Tomcat IIS 연동을 클릭한 후, 처리기 매핑에 들어갑니다.

mapping1

사용 안 함에 있는 ISAPI-dll을 클릭하고 화면 오른쪽에 기능 사용 권한 편집...을 누릅니다. 기능 사용 권한 편집 창에서 실행(E)체크하고 확인을 누릅니다.

mapping2

6. IIS, 톰캣 재시작

서비스에 들어가서 World Wide Web Publishing 서비스Tomcat을 재시작합니다.

serviceRestart

7. 연동 확인하기


웹 사이트에서 http://localhost 로 이동합니다. (80포트로 설정하지 않았다면 뒤에 포트 번호를 붙여줘야 합니다.)

check

8. 참고


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함