본문 바로가기

WAS - WebLogic/설치

[weblogic] 윈도우 서비스 등록 가이드 | 11g(10.3.6)

#. WebLogic 윈도우 서비스 네트워크 드라이브 인식 불가

https://hyuunchul.tistory.com/115

 


 

{WEBLOGIC_HOME}\wlserver_10.3\server\bin 디렉토리 하위에 installSvc.cmd 파일이 있다.

해당 파일 원본은 수정하지 않고 별도 디렉토리에 copy 하여 작업한다.

 

JAVA_HOME은 setDomainEnv.cmd 파일에 설정된 java 경로를 알아서 인식하는 듯 하다.

jvm options는 기존에 사용하던 옵션들 그대로 사용 가능하다.

윈도우 서비스 등록을 위해 필요한 프로퍼티 값들은 아래와 같다.

(서버 설치 정보)
set MW_HOME=D:\ENGN001\weblogic12214
set DOMAIN_NAME=test_domain
set USERDOMAIN_HOME=%MW_HOME%\domains\%DOMAIN_NAME%
set SERVER_NAME=AdminServer

------------------------------------------------------

(weblogic 계정 정보)
set WLS_USER=weblogic
set WLS_PW=weblogic1234!@#$

------------------------------------------------------

(서버 ip 및 weblogic 인스턴스 port 정보)
set HOST=10.59.136.235
set PORT=9090

------------------------------------------------------

(ManagedServer의 경우 AdminServer URL 정보 추가)
set ADMIN_URL=t3://10.59.136.235:7777

 

스크립트 맨 상단에 SETLOCAL 바로 하단에 작성하였다.

 


 

#. Bug 주의사항

JAVA_VM을 client가 아니라 server로 설정하지 않으면 기동 자체가 안된다.

그런데 %WL_HOME%\common\bin\commEnv.cmd 스크립트가 실행되면서 client로 설정되어버린다.

installSvc.cmd와 commEnv.cmd 스크립트가 잘못 작성되서 발생하는 버그로 보인다.

최신 PSU를 적용해도 해당 버그 fix는 되지 않기 때문에

강제로 JAVA_VM을 server로 설정해야 한다.

 

:runWebLogic 부분 바로 하단

if not "%JAVA_VM%" 바로 상단

그 사이에 set JAVA_VM=-server를 설정하면 된다.

:runWebLogic

@rem --------------------------------------------------------------------------------

@rem #bug fix
set JAVA_VM=-server

@rem --------------------------------------------------------------------------------

if not "%JAVA_VM%" == "" goto noResetJavaVM
if "%JAVA_VENDOR%" == "BEA" set JAVA_VM=-jrocket
if "%JAVA_VENDOR%" == "HP"  set JAVA_VM=-server
if "%JAVA_VENDOR%" == "Sun" set JAVA_VM=-server

 


 

#. AdminServer 서비스 등록 스크립트

서버 프로퍼티 값 설정

@rem --------------------------------------------------------------------------------

@rem ##### server settings #####

@rem #server info
set MW_HOME=D:\app\weblogic\weblogic1036
set DOMAIN_NAME=test_domain
set USERDOMAIN_HOME=%MW_HOME%\domains\%DOMAIN_NAME%
set SERVER_NAME=AdminServer

@rem #listen address info
set HOST=192.168.56.1
set PORT=9000

@rem #user info
set WLS_USER=weblogic
set WLS_PW=weblogic1!

@rem --------------------------------------------------------------------------------

@rem ##### jvm settings #####

@rem #production mode
set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.ProductionModeEnabled=trueeeeee

@rem #heap memory options
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xms1024m -Xmx1024m -XX:PermSize=512M -XX:MaxPermSize=512M

@rem #urandom
set JAVA_OPTIONS=%JAVA_OPTIONS% -Djava.security.egd=file:///dev/./urandom

@rem #ipv4 options
set JAVA_OPTIONS=%JAVA_OPTIONS% -Djava.net.preferIPv4Stack=true

@rem --------------------------------------------------------------------------------

@rem ##### log settings #####

@rem #log directory
set LOG_DIR=D:\applog\weblogic1036\%DOMAIN_NAME%\%SERVER_NAME%

@rem --------------------------------------------------------------------------------

 

스크립트 맨 하단 서비스 등록 명령어

svcname 적절히 수정해주고, log 옵션 추가해주기 (stdout 로그 파일 경로 지정하는 옵션)

rem *** Install the service
"%WL_HOME%\server\bin\beasvc" -install -svcname:"weblogic1036_%DOMAIN_NAME%_%SERVER_NAME%" -javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%" -maxconnectretries:"%MAX_CONNECT_RETRIES%" -host:"%HOST%" -port:"%PORT%" -extrapath:"%EXTRAPATH%" -password:"%WLS_PW%" -cmdline:%CMDLINE% -log:"%LOG_DIR%\stdout\%SERVER_NAME%.out"

 

네트워크 드라이브 매핑 필요할 경우 아래와 같이 수정

rem *** Install the service
rem *** network drive mapping
"%WL_HOME%\server\bin\beasvc" -install -svcname:"weblogic1036_%DOMAIN_NAME%_%SERVER_NAME%" -javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%" -maxconnectretries:"%MAX_CONNECT_RETRIES%" -host:"%HOST%" -port:"%PORT%" -extrapath:"%EXTRAPATH%" -password:"%WLS_PW%" -cmdline:%CMDLINE% -log:"%LOG_DIR%\stdout\%SERVER_NAME%.out" -localname:"K:" -remotename:"\\172.11.11.11\test" -remoteuser:"testuser" -remotepassword:"test1234"

 


 

#. ManagedServer 서비스 등록 스크립트

서버 프로퍼티 값 설정

@rem --------------------------------------------------------------------------------

@rem ##### server settings #####

@rem #server info
set MW_HOME=D:\app\weblogic\weblogic1036
set DOMAIN_NAME=test_domain
set USERDOMAIN_HOME=%MW_HOME%\domains\%DOMAIN_NAME%
set SERVER_NAME=m1

@rem #listen address info
set HOST=192.168.56.1
set PORT=9001
set ADMIN_URL=t3://192.168.56.1:9000

@rem #user info
set WLS_USER=weblogic
set WLS_PW=weblogic1!

@rem --------------------------------------------------------------------------------

@rem ##### jvm settings #####

@rem #production mode
set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.ProductionModeEnabled=trueeeeee

@rem #heap memory options
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xms1024m -Xmx1024m -XX:PermSize=512M -XX:MaxPermSize=512M

@rem #urandom
set JAVA_OPTIONS=%JAVA_OPTIONS% -Djava.security.egd=file:///dev/./urandom

@rem #ipv4 options
set JAVA_OPTIONS=%JAVA_OPTIONS% -Djava.net.preferIPv4Stack=true

@rem --------------------------------------------------------------------------------

@rem ##### log settings #####

@rem #log directory
set LOG_DIR=D:\applog\weblogic1036\%DOMAIN_NAME%\%SERVER_NAME%

@rem --------------------------------------------------------------------------------

 

스크립트 맨 하단 서비스 등록 명령어

svcname 적절히 수정해주고, log 옵션 추가해주기 (stdout 로그 파일 경로 지정하는 옵션)

rem *** Install the service
"%WL_HOME%\server\bin\beasvc" -install -svcname:"weblogic1036_%DOMAIN_NAME%_%SERVER_NAME%" -javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%" -maxconnectretries:"%MAX_CONNECT_RETRIES%" -host:"%HOST%" -port:"%PORT%" -extrapath:"%EXTRAPATH%" -password:"%WLS_PW%" -cmdline:%CMDLINE% -log:"%LOG_DIR%\stdout\%SERVER_NAME%.out"

 

네트워크 드라이브 매핑 필요할 경우 아래와 같이 수정

rem *** Install the service
rem *** network drive mapping
"%WL_HOME%\server\bin\beasvc" -install -svcname:"weblogic1036_%DOMAIN_NAME%_%SERVER_NAME%" -javahome:"%JAVA_HOME%" -execdir:"%USERDOMAIN_HOME%" -maxconnectretries:"%MAX_CONNECT_RETRIES%" -host:"%HOST%" -port:"%PORT%" -extrapath:"%EXTRAPATH%" -password:"%WLS_PW%" -cmdline:%CMDLINE% -log:"%LOG_DIR%\stdout\%SERVER_NAME%.out" -localname:"K:" -remotename:"\\172.11.11.11\test" -remoteuser:"testuser" -remotepassword:"test1234"

 


 

#. 서비스 등록 실행 및 결과 확인

윈도우 권한으로 서비스 등록 스크립트를 실행한다.

아래와 같이 ***** installed 문구가 출력되면 정상이다.

 

윈도우 서비스 창에도 정상적으로 등록되었는지 확인한다.

AdminServer 윈도우 서비스가 정상적으로 기동되면

 

Admin Console 에 접속하여 정상 기동 여부를 확인한다.

 


 

<윈도우 서비스 삭제>

{WEBLOGIC_HOME}\wlserver\bin 디렉토리에 위치한

uninstallSvc.cmd 스크립트를 복사하여 사용한다.

 

weblogic 윈도우 서비스 별로 uninstall 스크립트를 만들어두면 편리하다.

@rem *************************************************************************
@rem This script is used to uninstall a WebLogic Server Windows Service.
@rem
@rem To create your own start script for your domain, simply set the 
@rem SERVER_NAME variable to your server name then call this script from your
@rem domain directory.
@rem
@rem This script sets the following variables before uninstalling 
@rem the Windows Service:
@rem
@rem WL_HOME    - The root directory of your WebLogic installation
@rem
@rem For additional information, refer to "Managing Server Startup and Shutdown for Oracle WebLogic Server"
@rem (http://download.oracle.com/docs/cd/E23943_01/web.1111/e13708/overview.htm).
@rem *************************************************************************

@echo off
SETLOCAL

set MW_HOME=D:\app\weblogic\weblogic1036
set WL_HOME=%MW_HOME%\wlserver_10.3
set DOMAIN_NAME=test_domain
set SERVER_NAME=AdminServer

rem *** Uninstall the service
"%WL_HOME%\server\bin\beasvc" -remove -svcname:"weblogic1036_%DOMAIN_NAME%_%SERVER_NAME%"

ENDLOCAL