본문 바로가기

4. 테크니컬&팁/4.1.Java

Apache 2.2 & Weblogic 연동 상세 설정

프로젝트를 하다보니 아파치와 Weblogic관련 설정해서 상세하게 설명된 문서들이 많지 않아

내용을 정리해봅니다.


목적

- Apache 2.2 와 Weblogic Server 11gR1 상세 설정

- Weblogic 은 WAS1에는 A업무를 WAS2에는 B업무를 올린다.

- 아파치 서버에서는 각각을 분리하여 아래와 같이 처리하는것이 목표

- html/gif 와 같은 파일은 WEB서버에서 처리

- dom1로 시작하는 URL은 WAS1에서 처리

- dom2로 시작하는 URL은 WAS2에서 처리


환경

OS : 윈도우 7 32bit

apache : Apache http server 2.2

weblogic : Oracle Weblogic Server 11gR1

 


설치 과정

- 아파치 설치 (상세설치는 생략)

- C:\Program Files\Apache Software Foundation\Apache2.2 경로에 설치됨

- Weblogic 설치 (상세 설치는 생략)

- C:\oracle\Middleware 경로에 설치함

- 도메인 생성

- dom1 7001 포트 사용

- dom2 7002 포트 사용


- 아파치 Weblogic 모듈 복사

- C:\oracle\Middleware\wlserver_10.3\server\plugin\win\32 경로에 보면 so 파일들이 보인다.

- mod_wl_22.so 파일을 C:\Program Files\Apache Software Foundation\Apache2.2\modules 경로에 복사



WAS 어플리케이션 설정

- domain1에 c:\Temp\domain1 어플리케이션 deploy

- context path : /dom1

- http://localhost:7001/dom1/temp.jsp 로 어플리케이션 확인

- domain2에 c:\Temp\domain2 어플리케이션 deploy

     - context path : /dom2

- http://localhost:7002/dom2/temp.jsp로 어플리케이션 확인



Apache 설정


설정파일 경로 : C:\Program Files\Apache Software Foundation\Apache2.2\conf

httpd.conf 파일을 아래와 같이 수정함


- 130 라인 : LoadModule weblogic_module modules/mod_wl_22.so 추가

- 181 라인 : DocumentRoot "C:/Temp/htdocs" 로 설정


마지막 라인에 아래 내용 코딩

<Location />

  SetHandler weblogic-handler

  PathTrim /

</Location>


<IfModule mod_weblogic.c>

WLExcludePathOrMimeType *.html

WLExcludePathOrMimeType *.gif


MatchExpression /dom1* 

WebLogicHost 127.0.0.1

WebLogicPort 7001


MatchExpression /dom2* 

WebLogicHost 127.0.0.1 

WebLogicPort 7002


</IfModule>


위의 설명을 하기 위해 엄청 적었군요..

Location은 뭐하는 옵션인지 모르겠습니다. 관련 내용을 쓰든 안쓰든 크게 상관이 없어 보이긴 합니다만,,, 우선 이렇게 설정했습니다.


IfModule mod 설정이 중요합니다. 관련 내용에 대한 옵션이 정확하게 기술된 문서를 찾다가 아래와 같은 웹로직에서 제공하는 공식문서를 찾았습니다.

Using Web Server Plug-Ins with WebLogic Server : http://docs.oracle.com/cd/E11035_01/wls100/plugins/plugin_params.html



WLExcludePathOrMimeType 해당 옵션은 Weblogic으로 proxy하지 않을 패턴을 기술합니다.

gif 나 js 나 html 이나 웹서버에서 처리할 리스트를 기술합니다.


MatchExpression 은 해당 패턴이 들어올 경우 Weblogic으로 proxy하는 옵션입니다. 

/dom1* 으로 시작하는 패턴의 URL이 들어온 경우 127.0.0.1:7001 쪽으로 proxy됩니다.

처음에 WebLogicHost와 WebLogicPort를 한번만 기술했었는데  MatchExpression을 기준으로 여러번 할수 있더군요.

위는 싱글 Server를 기준으로 했으므로 weblogichost 옵션을 사용했지만, 클러스터 구성되어 있는 경우 WebLogicCluster 옵션을 사용해도 될것같습니다.



화면 테스트


http://localhost/dom1/temp.jsp

http://localhost/dom2/temp.jsp

http://localhost/dom1/temp.html


위의 리스트를 테스트 하여 정상적으로 원하는 화면이 보여진다면 OK.