본문 바로가기

WAS - WebLogic/설치

[weblogic] 윈도우 서비스 등록 가이드 | 12c/14c

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

https://hyuunchul.tistory.com/115

 


 

{WEBLOGIC_HOME}\wlserver\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 바로 하단에 작성하였다.

 


 

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

서버 프로퍼티 값 설정

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

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

@rem #server info
set MW_HOME=D:\ENGN001\weblogic12214
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=weblogic1234!@#$

@rem #disable derby server
set DERBY_FLAG=false

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

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

@rem #heap memory options
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xms1024m -Xmx1024m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=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:\LOGS001\weblogic\%DOMAIN_NAME%\%SERVER_NAME%

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

 

서비스 등록 명령어

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

rem *** Install the service
"%WL_HOME%\server\bin\%WLSVC_EXE_TO_USE%" -install -svcname:"weblogic12214_%DOMAIN_NAME%_%SERVER_NAME%" -svcdescription:"%SERVICE_DESCRIPTION%" -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 *** network drive mapping
"%WL_HOME%\server\bin\%WLSVC_EXE_TO_USE%" -install -svcname:"weblogic12214_%DOMAIN_NAME%_%SERVER_NAME%" -svcdescription:"%SERVICE_DESCRIPTION%" -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 서비스 등록 스크립트

AdminServer 등록 스크립트와 기본적인 틀은 동일하며, 몇가지 파라미터만 추가해주면 된다.

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

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

@rem #server info
set MW_HOME=D:\ENGN001\weblogic12214
set DOMAIN_NAME=test_domain
set USERDOMAIN_HOME=%MW_HOME%\domains\%DOMAIN_NAME%
set SERVER_NAME=m1

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

@rem #user info
set WLS_USER=weblogic
set WLS_PW=weblogic1234!@#$

@rem #disable derby server
set DERBY_FLAG=false

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

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

@rem #heap memory options
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xms1024m -Xmx1024m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=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 #thread pool options
set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.threadpool.MinPoolSize=50 -Dweblogic.threadpool.MaxPoolSize=100

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

@rem ##### log & dump settings #####

@rem #log directory
set LOG_DIR=D:\LOGS001\weblogic\%DOMAIN_NAME%\%SERVER_NAME%

@rem #GC
set JAVA_OPTIONS=%JAVA_OPTIONS% -verbose:gc -Xloggc:%LOG_DIR%\gc\gc_%SERVER_NAME%.log
set JAVA_OPTIONS=%JAVA_OPTIONS% -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -XX:+DisableExplicitGC
set JAVA_OPTIONS=%JAVA_OPTIONS% -XX:+UseG1GC

@rem #G1GC tuning - 꼭 필요한 상황에만 사용하고 첫 설치 시에는 기본값을 사용하도록 하자
@rem set JAVA_OPTIONS=%JAVA_OPTIONS% -XX:+UseG1GC -XX:G1HeapRegionSize=32 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=2
@rem set JAVA_OPTIONS=%JAVA_OPTIONS% -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=45 -XX:SurvivorRatio=8
@rem set JAVA_OPTIONS=%JAVA_OPTIONS% -XX:NewRatio=2 -XX:MaxTenuringThreshold=15 -XX:G1ReservePercent=10

@rem #heap dump
set JAVA_OPTIONS=%JAVA_OPTIONS% -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=%LOG_DIR%\dump_files\heapdump_%SERVER_NAME%.hprof

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

@rem ##### classpath settings #####

@rem #classpath
set CLASSPATH=%CLASSPATH%

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

 

서비스 등록 명령어

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

rem *** Install the service
"%WL_HOME%\server\bin\%WLSVC_EXE_TO_USE%" -install -svcname:"weblogic12214_%DOMAIN_NAME%_%SERVER_NAME%" -svcdescription:"%SERVICE_DESCRIPTION%" -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 *** network drive mapping
"%WL_HOME%\server\bin\%WLSVC_EXE_TO_USE%" -install -svcname:"weblogic12214_%DOMAIN_NAME%_%SERVER_NAME%" -svcdescription:"%SERVICE_DESCRIPTION%" -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 (@DOCSWEBROOT/START/overview.htm).
@rem *************************************************************************

@echo off
SETLOCAL

set MW_HOME=D:\app\weblogic\weblogic12214
set WL_HOME=%MW_HOME%\wlserver
set DOMAIN_NAME=test_domain
set SERVER_NAME=AdminServer

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

ENDLOCAL

pause

 


 

#. 윈도우 서비스 자동 시작 사용 시

AdminServer 기동 후에 ManagedServer 가 기동되어야 한다.

따라서, ManagedServer 서비스는 "자동시작(지연됨)" 으로 설정하도록 한다.

 

자동시작(지연됨) 으로 설정 시

장비 기동 후 사용자가 로그온을 해야 자동으로 시작된다고 한다.

테스트 시에는 사용자 로그온 후, 대략 3분정도 후에 시작되었음