티스토리 뷰
본 포스팅은 JEUS와 IIS 연동과정을 설명하고 있습니다.
1. Ajp 13 Listener (Apache JServ Protocol 1.3)
• WebtoB 이외의 다른 Web Server, 예를 들면 Apache, IIS, SunOne(iPlanet)등을 사용할 경우에도 JEUS Web Application과의 상호 연동이 가능하도록 해주는 Protocol 이다.
• Apache Web Server를 Web Container의 앞 단에서 사용하기 위해서는 mod_jk라는 모듈을 Apache설치 모듈에 추가해 줘야 한다.
• mod_jk 모듈은 Server와 Container간의 통신 Protocol을 구현한 것이다.
• 다운로드 경로 : http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
• IIS : ISAPI Redirector
• iPlanet : NSAPI Redirector
참고사항
|
*폴더명은 사용 환경에 따라서 변경 가능합니다.
• 다음은 JEUS와의 연동을 위해서 isapi_redirect라는 IIS Plug-In을 IIS에 추가시켜줘야 한다.
• 다운로드 : http://tomcat.apache.org/에서 다운로드
• 바이너리 다운
• 적절한 바이너리 선택
• 폴더 위치 및 파일 생성
=> win64는 dll파일이 들어갈 폴더이고, jk는 uriworkermap.properties, workers.properties 가 들어갈 폴더이다. log는 로그가 생기는 위지를 지정하였다.
• JK폴더 내용
• Win64폴더 내용
=>dll파일이 이름과 properties 파일 이름이 반드시 같아야 한다.
• 기존적으로 3개의 파일이 반드시 필요하다
파일명 |
의미 |
isapi_redirect.dll |
IIS 서버 플러그인, 미리 만들어져 있는 DLL혹은 직접 빌드해서 가져온다. |
workers.properties |
Workers에 의해 사용되어지는 host및 port에 대한 설정과 전반적인 환경 셋팅 |
uriworkermap.properties |
Workers에 URL-Path 패턴에 맵핑하는 내용 셋팅 |
• 기존적으로 3개의 파일이 반드시 필요하다
- registry를 통한 방법
- 환경 설정 파일을 통한 방법
Create a properties file in the same directory as the ISAPI redirector called isapi_redirect.properties i.e. with the same name as the ISAPI redirector DLL but with a .properties extension
=> 즉 dll확작자를 제외한 이름에 .properties만 붙여 주면 된다. Ex) isapi_redirect.dll -> isapi_redirect. properties
• 환경 설정 간략화
6. isapi_redirect.properties Setting
• isapi_redirect.properties Setting
- 기본 셋팅 extension_uri,log_file,log_level,worker_file,worker_mount_file
# ISAPI redirector의 path. /jakarta는 IIS 에서 등록하는 가상디렉터리 이름이다. 일단 /jakarta/extension_uri=/jakarta/isapi_redirect-1.2.30.dll |
속성 |
의미 |
ectension_uri |
A string value pointing to the ISAPI extension /jakarta/isapi_redirect.dll |
log_file |
A value pointing to location where log file will be created |
log_level |
A string value for log level (can be debug, info, warn, error or trace). This directive was added in version 1.2.31 |
worker_file |
A string value which is the full path to workers.properties file (for example c:\tomcat\conf\workers.properties) |
worker_mount_file |
A string value which is the full path to uriworkermap.properties file (for examplec:\tomcat\conf\uriworkermap.properties) |
7. uriworkermap.properties Setting
• 참고사이트( http://tomcat.apache.org/connectors-doc/reference/uriworkermap.html)
• Uri맵핑 패턴을 설정한다.(간략하게 샘플로 설명)
#[URL]=[Worker name] |
8. workers.properties Setting
• 참고사이트( http://tomcat.apache.org/connectors-doc/reference/workers.html)
• 샘플 설정
worker.list=was_lb ### was2_engine1 |
=> Worker의 이름은 WAS의 컨테이너 엔진을 적어준다.
위의 예에서는 node명이 was1이고 서블릿 엔진이 engine1과, node명이 was2이고 서블릿이 engine1이다
세션 라우팅을 위해 필요되며, 위와 같은 구조로 셋팅을 해야, 세션 유지하기 위해서, 어느 worker로 요청을 보낼지 정할 수 있다.
• 샘플 설정
<webserver-connection> <ajp13-listener> <listener-id>iis1</listener-id> <port>9901</port> <output-buffer-size>0</output-buffer-size> <thread-pool> <min>10</min> <max>20</max> </thread-pool> </ajp13-listener> </webserver-connection> |
10. IIS웹서버 환경 셋팅(7.x)
- 사이트 설정
[사이트 생성] (사이트가 이미 구성되어 있다면 추가하지 말고 설정만 마무리 한다.)
제어판 -> 관리도구-> IIS관리자 클릭한다.
그 이후에 웹 사이트를 추가한다.
- 사이트 설정2
사이트 -> 우클릭 -> 웹사이트 추가 (사이트가 있다면 패스)
=> 사이트 이름을 적절하게 정한다. 실제 경로는 html소스를 위치 시킨다.
port는 서비스 포트이며 호스트 이름은 서비스 하고자 하는 도메인 이름을 이야기 한다
- 가상디렉토리 설정
가상디렉토리는 모듈을 사용하기 위해서 반드시 설정해야 한다
=> 사이트 -> 우클릭 -> 가상 디렉토리 추가
여기서 별칭은 보통 jakarta라고 하는데, 변경하고 싶다면, 나중에 isapi dll파일의 환경 설정의 extention_uri의 URI 패턴과 일치 시킨다.
실제 결로는 dll파일이 위치한 디렉토리를 설정한다.
- 처리기 맵핑
처리기 맵핑은 해당 사이트 요청시 처리기 맵핑 rule을 지정하는 것이다.
ISAPI필터를 사용할 때는 ISAPI-dll 처리기를 사용하는데 반드시 사용 가능하게끔 만들어야 한다.
사용 되어 있다면 skip하고 사용 안함으로 되어 있다면 사용하도록 설정하자
=> 가상디렉토리 클릭 -> 처리기 맵핑 클릭
=> 실행을 체크하여 사용하도록 만든다
=> “사용” 확인
- 가상디렉토리 설정
ISAP필터를 설치하자.
만약 ISAP필터가 없다면, window에서 해당 부분을 설치해줘야 한다.
=> 프로그램 기능 추가
=> IIS설정을 클릭한다. 기본적으로 ISAP필터 부분이 설정이 안되어 있을텐데 우리는 ISAP필터를 사용할 것이므로 반드시 설정한다.
=> 필터이름을 적절히 셋팅하고, 실행파일을 위치를 dll파일로 바라보게 하자
=>설정확인
- ISAPI 및 CGI 제한 품
ISAPI 및 CGI 제한으로 ISAPI필터가 제한 될 수 있으니, 허용하게끔 만들어 줘야 한다.
=> ISAPI를 추가 하여 허용하도록 한다
=> 허용됨을 확인
- 재시작
=> 다시 시작하여 정상적으로 호출되는지 확인한다
11. IIS웹서버 환경 셋팅(6.x)
- 가상디렉토리 만들기
제어판 => 관리도구 => "인터넷 정보 서비스" 실행한다.
기본 웹 사이트 => 새로만들기 => 가상 디렉터리
별칭에 “jakarta” 입력 isapi_redirector.properties 에서 extension_uri속성에 설정한 경로를 입력한다.
읽기, 스크립트 실행, 실행 3개 모두 체크한다.
jakarta라는 가상 디렉토리가 생성되었는지 확인한다.
- ISAPI필터 만들기
기본웹사이트 => 속성 => ISAPI필터”에서 "추가" 버튼 클릭한다.
필터이름 : jakarta
실행파일 : isapi_redirect.dll 파일 검색해서 선택한다.
- 실행 및 확인
커맨드 창을 열어서, “iisreset “ 명령을 실행한다.
기본 웹사이트 => 속성 => ISAPI필터
상태부분에 녹색 화살표가 있으면 성공, 적색 화살표가 나오면 다시 설정한다.
[Test.jsp]
1 <% 2 String str; 3 str="JSP Test Page"; 4 %> 5 <%= str %> |
[Test.jsp]
6 <% 7 String str; 8 str="JSP Test Page"; 9 %> 10 <%= str %> |
isapi_redirect 로그를 확인한다
Loglevel을 debug로 조정한다.
정상적이라고 하면 info로 조정한다
예)재기동을 하였으나, 연동이 안됨 로그 확인한다.
11 [Sun Jul 22 02:51:56.171 2012] [7032:2260] [debug] wc_get_name_for_type::jk_worker.c (293): Found worker type 'lb' 12 [Sun Jul 22 02:51:56.177 2012] [7032:2260] [debug] uri_worker_map_ext::jk_uri_worker_map.c (512): Checking extension for worker 0: was_lb of type lb (5) 13 [Sun Jul 22 02:51:56.184 2012] [7032:2260] [debug] wc_get_worker_for_name::jk_worker.c (116): did not find a worker was_lb? 14 [Sun Jul 22 02:51:56.189 2012] [7032:2260] [error] uri_worker_map_ext::jk_uri_worker_map.c (506): Could not find worker with name 'was_lb?' in uri map post processing. 15 [Sun Jul 22 02:51:56.192 2012] [7032:2260] [debug] wc_get_worker_for_name::jk_worker.c (116): did not find a worker was_lb? 16 [Sun Jul 22 02:51:56.195 2012] [7032:2260] [error] uri_worker_map_ext::jk_uri_worker_map.c (506): Could not find worker with name 'was_lb?' in uri map post processing. 17 [Sun Jul 22 02:51:56.200 2012] [7032:2260] [debug] wc_get_worker_for_name::jk_worker.c (116): found a worker was_lb
|
=> 로그 내용을 보면 uri_worker_map_ext에서 “was_lb?”를 찾지 못한다고 한다.
환경설정의 worker확인
18 #[URL]=[Worker name]? 19 /*.jsp=was_lb 20 /*.gif=was_lb 21 /*.jpg=was_lb 22 /admin/*=was_lb? 23 /manager/*=was_lb? 24 /examples/*=was_lb |
=> ?의 쓰레기 값이 들어갔음 지우고 재기동 하여 성공
'④ 미들웨어 > ⓙ JEUS' 카테고리의 다른 글
[Web Application Server] Java Message Service(JMS - QUEUE) (0) | 2018.03.26 |
---|---|
[JEUS] log4jdbc 설정 가이드 (0) | 2018.03.25 |
[JMS] Failover Test (2/2) (0) | 2018.03.25 |
[JMS] Failover Test (1/2) (0) | 2018.03.25 |
[JEUS6] AddContainer & ApplicationDeploy (2) | 2018.03.24 |
- Total
- Today
- Yesterday
- openstack tenant
- Architecture
- k8s
- 마이크로서비스
- Docker
- nodejs
- TA
- webtob
- aws
- API Gateway
- node.js
- apache
- Da
- JBoss
- openstack token issue
- JEUS6
- SWA
- JEUS7
- 쿠버네티스
- MSA
- OpenStack
- aa
- 오픈스택
- SA
- git
- 아키텍처
- wildfly
- 마이크로서비스 아키텍처
- kubernetes
- jeus
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |