WebLogic ServerWindows Service로 등록하기

 

웹로직 서버를 windows service로 등록하게 되면 O.S가 구동되면서 자동적으로 웹로직 서버를 구동 시킬 수 있게 됩니다.

Windows RegistryHKEY_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를 적용한 예)
-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%

"%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 옵션을 추가합니다.
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%

"%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

Posted by 달콤한녀석