티스토리 뷰
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 확장
을 추가로 선택해 줍니다.
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
를 다운받으면 됩니다.
다운 받은 파일의 위치를 설정 하겠습니다.
저는 개발과 관련된 파일은 C:\dev\
의 경로에 넣으니 참고해주세요.
우선 C:\dev\
경로에 Tomcat Connector
이름의 폴더를 만들어 주세요.
그리고 Tomcat Connector
안에 bin
, conf
, log
파일을 만들어주세요.
위 그림과 같이 폴더를 만드셨다면, 아까 다운받았던 압축파일 tomcat-connectors-1.2.46-windows-x86_64-iis.zip
을 풀고, isapi_redirect.dll
을 C:\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\bin
에 isapi_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 관리자의 왼쪽 트리에서 사이트
를 우클릭하고 웹 사이트 추가...
를 누릅니다.
이름은 Tomcat IIS 연동
으로 하겠습니다.
실제 경로는 톰캣 설치 경로\webapps\ROOT
를 지정합니다.
저는 80포트로 테스트 하겠습니다. 다른 포트로 지정해도 상관없습니다.
2. ISAPI 및 CGI 제한 설정하기
IIS 관리자의 왼쪽 트리에서 제일 위의 컴퓨터 이름으로 된 디렉터리를 클릭한 후, 가운데 화면에서 ISAPI 및 CGI 제한
을 클릭합니다.
화면 오른쪽의 추가...
를 클릭한 후 isapi_redirect.dll
이 있는 경로를 입력해주고, 설명은 Tomcat
을 넣어주겠습니다. 확장 경로 실행 허용
도 체크하고 확인을 누릅니다.
3. 가상 디렉터리 추가하기
1번에서 추가한 웹 사이트 Tomcat IIS 연동
에서 우클릭한 후, 가상 디렉터리 추가...
를 선택합니다.
가상 디렉터리는 아래 사진과 같이 설정합니다.
별칭은 isapi_redirect.properties
에서 extension_uri
에 설정했던 jakarta
로 해줘야 합니다.
4. ISAPI 필터 설정하기
Tomcat IIS 연동
을 클릭한 후, 가운데 화면에서 ISAPI 필터
를 선택합니다.
들어온 후, 화면 오른쪽 위의 추가...
를 선택하고 아래와 같이 설정합니다.
5. 처리기 매핑 설정
Tomcat IIS 연동
을 클릭한 후, 처리기 매핑
에 들어갑니다.
사용 안 함에 있는 ISAPI-dll
을 클릭하고 화면 오른쪽에 기능 사용 권한 편집...
을 누릅니다. 기능 사용 권한 편집
창에서 실행(E)
을 체크
하고 확인을 누릅니다.
6. IIS, 톰캣 재시작
서비스
에 들어가서 World Wide Web Publishing 서비스
와 Tomcat
을 재시작합니다.
7. 연동 확인하기
웹 사이트에서 http://localhost
로 이동합니다. (80포트로 설정하지 않았다면 뒤에 포트 번호를 붙여줘야 합니다.)
8. 참고
'Programming > server' 카테고리의 다른 글
[Linux] 로그 실시간으로 보는 명령어 - tail (0) | 2020.03.11 |
---|---|
413 Request Entity Too Large 오류 해결 방법 (2) | 2019.08.19 |
Apache와 SpringBoot(Embedded Tomcat) 연동 (1) | 2019.07.15 |
Apache, Tomcat 연동 (0) | 2019.07.14 |
- Total
- Today
- Yesterday
- 연동
- StringBuilder
- IoC
- 토비의스프링
- JsonProperty
- java
- gradle
- apache
- Tomcat
- EmbededTomcat
- jar 실행
- 애플리케이션컨텍스트
- lombok
- 템플릿
- JsonIgnore
- shellscript
- final
- springboot
- 빈팩토리
- 스프링프레임워크
- 자바
- mod_jk
- Spring
- 쉘스크립트
- 413
- AOP
- 스프링
- DI
- 빌드도구
- stringbuffer
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |