WebLogic Server를 Windows Service로 등록하기
웹로직 서버를 windows service로 등록하게 되면 O.S가 구동되면서 자동적으로 웹로직 서버를 구동 시킬 수 있게 됩니다.
Windows Registry의 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 위치에 생성
1. Windows Service 등록 Script 만들기
A. DOMAIN_HOME 디렉토리에 text파일을 생성합니다.
(이 문서에서는 svc_서버이름.cmd 로 생성하겠습니다)
B. text파일에 아래와 같은 batch commands를 작성합니다. (필수)
i. SETLOCAL è batch command의 시작을 알림
ii. set DOMAIN_NAME=domain-name è Domain 이름에 대한 설정
iii. set USERDOMAIN_HOME=absolute-pathname è Domain 디렉토리에 대한 절대경로
iv. set SERVER_NAME=server-name è NT service에 등록하기 위한 server명
C. text파일에 아래와 같은 batch commands를 작성합니다. (옵션)
i. set WLS_USER=username
ii. set WLS_PW=password
iii. set PRODUCTION_MODE=[true]
iv. set JAVA_OPTIONS=java-options
v. set JAVA_VM=-JVM-mode
vi. set MEM_ARGS=[-XmsNumberm] [-XmxNumberm]
D. text파일에 아래와 같은 batch commands를 작성합니다. (필수)
i. call "WL_HOME\server\bin\installSvc.cmd" è 실질적으로 NT service에 등록하기 위한 스크립트 (WL_HOME은 절대경로를 입력해야 합니다)
ii. ENDLOCAL è batch command의 끝을 알림
E. text 파일을 .cmd 확장자로 저장합니다. (이 문서에서는 svc_서벼이름.cmd)
2. Windows Service 삭제 Script 만들기
A. DOMAIN_HOME 디렉토리에 text파일을 생성합니다.
(이 문서에서는 rm_svc_서버이름.cmd 로 생성하겠습니다)
B. text파일에 아래와 같은 batch commands를 작성합니다. (필수)
i. SETLOCAL
ii. set DOMAIN_NAME=domain-name
iii. set SERVER_NAME=server-name
iv. call "WL_HOME\server\bin\uninstallSvc.cmd"
v. ENDLOCAL
C. text 파일을 .cmd 확장자로 저장합니다. (이 문서에서는 rm_svc_서벼이름.cmd)
3. Windows Service로 Admin Server 구동 후 Managed Server 구동하기
A. WL_HOME\server\bin\installSvc.cmd 파일을 DOMAIN_HOME 디렉토리에 복사합니다.
(이 문서에서는 installSvc_서버이름.cmd 로 사용합니다) è Admin Server 용도
B. 만약 windows service에 이미 Admin Server가 등록되어 있다면 2번의 Windows Service 삭제 스크립트를 만들어 이미 등록된 service를 삭제하도록 합니다.
C. installSvc_서버이름.cmd 파일을 text editor로 열어 편집할 수 있도록 합니다.
D. -delay:delay_milliseconds 옵션을 추가합니다. (2분의 delay를 적용한 예) "%WL_HOME%\server\bin\beasvc" -install -svcname:"%DOMAIN_NAME%_%SERVER_NAME%" -delay:120000 -javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%" -extrapath:"%WL_HOME%\server\bin" -password:"%WLS_PW%" -cmdline:%CMDLINE%
-delay는 Windows SCM(Service Control Manager)이 service status를
SERVER_START_PENDING에서 STARTED로 바꾸기 전에 wait하는 시간(millisecond 단위)으로
admin server가 start하는데 필요한 시간을 설정하면 됩니다.
"%WL_HOME%\server\bin\beasvc" -install
-svcname:"%DOMAIN_NAME%_%SERVER_NAME%"
-delay:120000
-javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"
-extrapath:"%WL_HOME%\server\bin" -password:"%WLS_PW%"
-cmdline:%CMDLINE%
E. 1번에서 만든 Windows Service 등록 Script를 이용하여 Admin Server를 windows service로 등록합니다. (1-D-i 의 installSvc.cmd 을 위에서 작업한 installSvc_서버명.cmd 로 변경합니다)
F. WL_HOME\server\bin\installSvc.cmd 파일을 DOMAIN_HOME 디렉토리에 복사합니다.
(이 문서에서는 installSvc_서버이름.cmd 로 사용합니다) è Managed Server 용도
G. installSvc_서버이름.cmd 파일을 text editor로 열어 편집할 수 있도록 합니다.
H. -depend:Administration-Server-service-name 옵션을 추가합니다. "%WL_HOME%\server\bin\beasvc" -install -svcname:"%DOMAIN_NAME%_%SERVER_NAME%" -depend:"beasvc base_domain_AdminServer" -javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%" -extrapath:"%WL_HOME%\server\bin" -password:"%WLS_PW%" -cmdline:%CMDLINE%
Managed Server는 Admin Server의 configuration 정보를 받아와야 하므로 Admin Server가 구동되는 서비스이름을 depend 하게 됩니다.
-depend는 Windows SCM이 admin server Windows service의 status가 STARTED가 될 때까지 wait하므로 managed server에 설정하면 됩니다.
"%WL_HOME%\server\bin\beasvc" -install
-svcname:"%DOMAIN_NAME%_%SERVER_NAME%"
-depend:"beasvc base_domain_AdminServer"
-javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%"
-extrapath:"%WL_HOME%\server\bin" -password:"%WLS_PW%"
-cmdline:%CMDLINE%
I. 1번에서 만든 Windows Service 등록 Script를 이용하여 Admin Server를 windows service로 등록합니다. (1-D-i 의 installSvc.cmd 을 위에서 작업한 installSvc_서버명.cmd 로 변경합니다)
4. Windows Service 등록에 대한 검증
A. WL_HOME\server\bin\beasvc –debug “service_name”
B. 현재 구성된 웹로직 서비스를 직접 서비스로 구동하는 것이 아닌 command에서 검증하면서 cmd에서 구동하여 확인하는 방식이다.
5. 서버 종료에 대한 방법은 종료 script를 만들어서 해당 script로 종료 하도록 한다.
@ECHO OFF
SETLOCAL
call "%DOMAIN_NAME%\bin\setDomainEnv.cmd"
echo Stopping Weblogic Server...
%JAVA_HOME%\bin\java -cp %WEBLOGIC_CLASSPATH% weblogic.Admin
FORCESHUTDOWN -url t3://localhost:7001 -username weblogic -password weblogic
AdminServer 2>&1
echo Done
ENDLOCAL
@ECHO OFF SETLOCAL call "%DOMAIN_NAME%\bin\setDomainEnv.cmd" echo Stopping Weblogic Server... %JAVA_HOME%\bin\java -cp %WEBLOGIC_CLASSPATH% weblogic.Admin FORCESHUTDOWN -url t3://localhost:7001 -username weblogic -password weblogic AdminServer 2>&1 echo Done ENDLOCAL
windows service에서 Admin Server를 종료하게 되면 Managed Server에서 -depend하고 있기때문에 Managed Server가 함께 종료됩니다. 이와 같은 이유로 인해 Admin Server를 종료하려면 별도의 script로 종료하도록 합니다.
WebLogic Server 10 MP1 에서 Test를 진행 함
Test를 진행하며 사용했던 Script 첨부
참고 URL : http://e-docs.bea.com/wls/docs100/server_start/winservice.html
'Study...★ > WebLogic Server' 카테고리의 다른 글
| AIX에서 WLS install 문제 발생시 Guide (0) | 2009/02/05 |
|---|---|
| WebLogic Server를 Windows Service로 등록하기 (0) | 2009/01/05 |
| 웹로직 서버 구동 실패에 대한 메시지 (0) | 2008/12/30 |
| 웹로직에서 구동중인 Application의 한글 첨부파일이 다운로드 되지 않는 현상 (0) | 2008/12/26 |
WLS_windows_service.zip