업데이트 날짜 : 2023/11/18
JDK 설치
Oracle JDK 1.8 이상
IBM JDK 1.8 이상
엔진 설치 (Silent 방식 - oraInst.loc, wls.rsp 필요)
WebLogic 설치할 디렉토리 생성
- mkdir -p /app/weblogic/weblogic_12214
설치에 필요한 파일 생성
#01. wls.rsp
[ENGINE]
#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0
[GENERIC]
#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=/app/weblogic/weblogic_12214
#Set this variable value to the Installation Type selected. e.g. WebLogic Server, Coherence, Complete with Examples.
INSTALL_TYPE=WebLogic Server
#MyOracleSupport Account
MOS_USERNAME=
MOS_PASSWORD=<SECURE_VALUE>
#Set this to true if you wish to skip software updates
DECLINE_AUTO_UPDATES=true
#Set this to true if you wish to decline the security updates.
DECLINE_SECURITY_UPDATES=true
#Set this to true if My Oracle Support Password is specified
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
#02. oraInst.loc
inventory_loc=/app/weblogic/inventory_12214
inst_group=ehc
설치 실행 명령어
java -jar 설치파일 -slient -responseFile 파일위치 -invPtrLoc 파일위치
--------------------------------------------------------------------
/usr/jdk/jdk1.8/jdk1.8.0_261/bin/java -jar fmw_12.2.1.3.0_wls.jar -silent -responseFile /app/weblogic/install_files/wls.rsp -invPtrLoc /app/weblogic/install_files/oraInst.loc
도메인 구성
silent 로 진행하기 위해 필요한 파일 생성
domain.py
readTemplate('/app/weblogic/weblogic_12214/wlserver/common/templates/wls/wls.jar');
setOption('JavaHome', '/usr/jdk/jdk1.8/jdk1.8.0_261');
setOption('ServerStartMode', 'prod')
cd('Security/base_domain/User/weblogic');
set('Name', 'weblogic');
cmo.setPassword('weblogic1');
cd('Servers/AdminServer');
set('Name','AdminServer');
set('ListenAddress','192.168.0.2');
set('ListenPort',9000);
cd('/');
writeDomain('/app/weblogic/weblogic_12214/domains/ehc_domain');
closeTemplate();
exit();
실행 명령어
디렉토리 이동
{WEBLOGIC_HOME}/oracle_common/common/bin
도메인 설정 실행
./wlst.sh ../domain.py
서버 기동 스크립트 - Oracle JAVA 기준 (1.8 버전)
startA.sh
##### server info #####
DOMAIN_NAME=test
DOMAIN_HOME=/app/weblogic12214/domains/${DOMAIN_NAME}_domain
SERVER_NAME=AdminServer
BOOT_PROPERTIES=${DOMAIN_HOME}/boot.properties
#--------------------------------------------------------------------------------------
##### user & process check #####
#user check
USER=`whoami`
if [ "$USER" != "midadm" ]
then
echo =============================================
echo You are not weblogic user, Please change user
echo =============================================
exit
fi
#process running check
WLS_PROCESS=`ps -ef|grep java|grep D${DOMAIN_NAME}_${SERVER_NAME}|awk '{print $1}'`
if [ "$WLS_PROCESS" != "" ]
then
echo ==============================================
echo [${DOMAIN_NAME}_${SERVER_NAME}] Process Is Already Running !!!
echo ==============================================
exit
fi
#--------------------------------------------------------------------------------------
##### server settings #####
#instance info
JAVA_OPTIONS="${JAVA_OPTIONS} -D${DOMAIN_NAME}_${SERVER_NAME}"
#boot_properties
JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.system.BootIdentityFile=${BOOT_PROPERTIES}"
#urandom
JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:///dev/./urandom"
#ipv4 options
JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.net.preferIPv4Stack=true"
#heap memory options
JAVA_OPTIONS="${JAVA_OPTIONS} -Xms1024m -Xmx1024m"
#disable derby server
export DERBY_FLAG=false
#--------------------------------------------------------------------------------------
##### log directory #####
#log_directory
LOG_DIR=/logs/weblogic/${DOMAIN_NAME}/${SERVER_NAME}
#log_time
LOG_TIME=$(date +"%Y%m%d_%H_%M")
#--------------------------------------------------------------------------------------
##### server start #####
#export args
export USER_MEM_ARGS JAVA_OPTIONS
#stdout log_backup
mv ${LOG_DIR}/stdout/${SERVER_NAME}.out ${LOG_DIR}/stdout/${SERVER_NAME}.out_${LOG_TIME}
#server_start
nohup ${DOMAIN_HOME}/bin/startWebLogic.sh >> ${LOG_DIR}/stdout/${SERVER_NAME}.out 2>&1 &
#tail -f $LOG_DIR/$SERVER_NAME.out
startM.sh
##### server info #####
DOMAIN_NAME=test
DOMAIN_HOME=/app/weblogic12214/domains/${DOMAIN_NAME}_domain
SERVER_NAME=MServer1
ADM_URL="t3://127.0.0.1:1000"
BOOT_PROPERTIES=${DOMAIN_HOME}/boot.properties
#--------------------------------------------------------------------------------------
##### user & process check #####
#user check
USER=`whoami`
if [ "$USER" != "midadm" ]
then
echo =============================================
echo You are not weblogic user, Please change user
echo =============================================
exit
fi
#process running check
WLS_PROCESS=`ps -ef|grep java|grep D${DOMAIN_NAME}_${SERVER_NAME}|awk '{print $1}'`
if [ "$WLS_PROCESS" != "" ]
then
echo ==============================================
echo [${DOMAIN_NAME}_${SERVER_NAME}] Process Is Already Running !!!
echo ==============================================
exit
fi
#--------------------------------------------------------------------------------------
##### server settings #####
#instance info
JAVA_OPTIONS="${JAVA_OPTIONS} -D${DOMAIN_NAME}_${SERVER_NAME}"
#boot_properties
JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.system.BootIdentityFile=${BOOT_PROPERTIES}"
#urandom
JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:///dev/./urandom"
#ipv4 options
JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.net.preferIPv4Stack=true"
#2023_08_03 - disable jdbc.fan
JAVA_OPTIONS="${JAVA_OPTIONS} -Doracle.jdbc.fanEnabled=false"
#heap memory options
JAVA_OPTIONS="${JAVA_OPTIONS} -Xms2048m -Xmx2048m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m"
#thread pool options
JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.threadpool.MinPoolSize=100 -Dweblogic.threadpool.MaxPoolSize=200"
#disable derby server
export DERBY_FLAG=false
#classpath
CLASSPATH="${CLASSPATH}"
#--------------------------------------------------------------------------------------
##### log directory #####
#log_directory
LOG_DIR=/logs/weblogic/${DOMAIN_NAME}/${SERVER_NAME}
#log_time
LOG_TIME=$(date +"%Y%m%d_%H_%M")
#--------------------------------------------------------------------------------------
##### GC & dump files #####
#GC
JAVA_OPTIONS="${JAVA_OPTIONS} -verbose:gc -Xloggc:${LOG_DIR}/gc/gc_${SERVER_NAME}.log"
JAVA_OPTIONS="${JAVA_OPTIONS} -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -XX:+DisableExplicitGC"
#G1GC
JAVA_OPTIONS="${JAVA_OPTIONS} -XX:+UseG1GC -XX:G1HeapRegionSize=32 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=2"
JAVA_OPTIONS="${JAVA_OPTIONS} -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=45 -XX:SurvivorRatio=8"
JAVA_OPTIONS="${JAVA_OPTIONS} -XX:NewRatio=2 -XX:MaxTenuringThreshold=15 -XX:G1ReservePercent=10"
#heapdump options
JAVA_OPTIONS="${JAVA_OPTIONS} -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${LOG_DIR}/dump_files/heapdump_${SERVER_NAME}.hprof"
#--------------------------------------------------------------------------------------
##### Jennifer5 #####
#jennifer5
#JAVA_OPTIONS="${JAVA_OPTIONS} -Djennifer.config=/app/jennifer5/5.4.3.2/agent.java/conf/${DOMAIN_NAME}_${SERVER_NAME}.conf"
#JAVA_OPTIONS="${JAVA_OPTIONS} -javaagent:/app/jennifer5/5.4.3.2/agent.java/jennifer.jar"
#--------------------------------------------------------------------------------------
##### ETC #####
#export LANG=ko_KR.UTF-8
#--------------------------------------------------------------------------------------
##### server start #####
#export args
export JAVA_OPTIONS USER_MEM_ARGS EXT_PRE_CLASSPATH LD_LIBRARY_PATH
#stdout log_backup
mv ${LOG_DIR}/stdout/${SERVER_NAME}.out ${LOG_DIR}/stdout/${SERVER_NAME}.out_${LOG_TIME}
#gc log backup
mv ${LOG_DIR}/gc/gc_${SERVER_NAME}.log ${LOG_DIR}/gc/gc_${SERVER_NAME}.log_${LOG_TIME}
#server_start
nohup ${DOMAIN_HOME}/bin/startManagedWebLogic.sh ${SERVER_NAME} ${ADM_URL} >> ${LOG_DIR}/stdout/${SERVER_NAME}.out 2>&1 &
#tail -f ${LOG_DIR}/${SERVER_NAME}.out
서버 기동 스크립트 - IBM JAVA 기준 (1.8 버전)
startA.sh
##### server info #####
DOMAIN_NAME=test_domain
DOMAIN_HOME=/app/sw/weblogic/wls14/domains/${DOMAIN_NAME}
SERVER_NAME=AdminServer
SERVER_PORT=7300
BOOT_PROPERTIES=${DOMAIN_HOME}/boot.properties
#--------------------------------------------------------------------------------------
##### user & process check #####
#user check
USER=`whoami`
if [ "$USER" != "weblogic" ]
then
echo =============================================
echo You are not weblogic user, Please change user
echo =============================================
exit
fi
#process running check
PID=`ps -ef|grep java|grep ${SERVER_NAME}|awk '{print $2}'`
if [ "$PID" != "" ]
then
echo ==============================================
echo "${SVR}"_[pid:"${PID}"] Process Is Already Running !!!
echo ==============================================
exit
fi
#--------------------------------------------------------------------------------------
##### server settings #####
#instance info
JAVA_OPTIONS="${JAVA_OPTIONS} -D${SERVER_NAME} -D${SERVER_PORT}"
#boot_properties
JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.system.BootIdentityFile=${BOOT_PROPERTIES}"
#urandom
JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:///dev/./urandom"
#ipv4 options
JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.net.preferIPv4Stack=true"
#heap memory options
JAVA_OPTIONS="${JAVA_OPTIONS} -Xms1024m -Xmx1024m"
#--------------------------------------------------------------------------------------
##### stdout log #####
#stdout_log
LOG_DIR=/app/logs/weblogic/${DOMAIN_NAME}/${SERVER_NAME}/stdout
#--------------------------------------------------------------------------------------
##### server start #####
#export args
export USER_MEM_ARGS JAVA_OPTIONS
#stdout log_backup
LOG_TIME=$(date +"%Y%m%d_%H_%M")
mv ${LOG_DIR}/${SERVER_NAME}.out ${LOG_DIR}/${SERVER_NAME}.out_${LOG_TIME}
#server_start
nohup ${DOMAIN_HOME}/bin/startWebLogic.sh >> ${LOG_DIR}/${SERVER_NAME}.out 2>&1 &
#tail -f $LOG_DIR/$SERVER_NAME.out
startM.sh
##### server info #####
DOMAIN_NAME=test_domain
DOMAIN_HOME=/app/sw/weblogic/wls14/domains/${DOMAIN_NAME}
SERVER_NAME=m1
SERVER_IP=10.0.0.2
SERVER_PORT=7301
ADM_URL="t3://${SERVER_IP}:7300"
BOOT_PROPERTIES=${DOMAIN_HOME}/boot.properties
#--------------------------------------------------------------------------------------
##### user & process check #####
#user check
USER=`whoami`
if [ "$USER" != "weblogic" ]
then
echo =============================================
echo You are not weblogic user, Please change user
echo =============================================
exit
fi
#process running check
PID=`ps -ef|grep java|grep ${SERVER_NAME}|awk '{print $2}'`
if [ "$PID" != "" ]
then
echo ==============================================
echo "${SVR}"_[pid:"${PID}"] Process Is Already Running !!!
echo ==============================================
exit
fi
#--------------------------------------------------------------------------------------
##### server settings #####
#instance info
JAVA_OPTIONS="${JAVA_OPTIONS} -D${SERVER_NAME} -D${SERVER_PORT}"
#boot_properties
JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.system.BootIdentityFile=${BOOT_PROPERTIES}"
#urandom
JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:///dev/./urandom"
#ipv4 options
JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.net.preferIPv4Stack=true"
#heap memory options
JAVA_OPTIONS="${JAVA_OPTIONS} -Xms2048m -Xmx2048m"
#classpath
CLASSPATH="${CLASSPATH}"
#--------------------------------------------------------------------------------------
##### stdout log #####
#stdout_log
LOG_DIR=/app/logs/weblogic/${DOMAIN_NAME}/${SERVER_NAME}
#--------------------------------------------------------------------------------------
##### gc log & dump files #####
#gc_log
JAVA_OPTIONS="${JAVA_OPTIONS} -verbose:gc -Xverbosegclog:${LOG_DIR}/gc/gc_${SERVER_NAME}.log"
JAVA_OPTIONS="${JAVA_OPTIONS} -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC"
#heap dump directory
IBM_HEAPDUMPDIR=${LOG_DIR}/dump_files
#javacore dump directory
IBM_JAVACOREDIR=${LOG_DIR}/dump_files
#core dump direcotry
IBM_COREDIR=${LOG_DIR}/dump_files
#--------------------------------------------------------------------------------------
##### server start #####
#export args
export JAVA_OPTIONS USER_MEM_ARGS EXT_PRE_CLASSPATH LD_LIBRARY_PATH
export IBM_HEAPDUMPDIR IBM_JAVACOREDIR IBM_COREDIR
#stdout log_backup
LOG_TIME=$(date +"%Y%m%d_%H_%M")
mv ${LOG_DIR}/stdout/${SERVER_NAME}.out ${LOG_DIR}/stdout/${SERVER_NAME}.out_${LOG_TIME}
#gc log backup
mv ${LOG_DIR}/gc/gc_${SERVER_NAME}.log ${LOG_DIR}/gc/gc_${SERVER_NAME}.log_${LOG_TIME}
#server_start
nohup ${DOMAIN_HOME}/bin/startManagedWebLogic.sh ${SERVER_NAME} ${ADM_URL} >> ${LOG_DIR}/stdout/${SERVER_NAME}.out 2>&1 &
#tail -f ${LOG_DIR}/${SERVER_NAME}.out
stdout 로그 tail 프로세스
logA.sh / logM.sh
#server name
DOMAIN_NAME=test
SERVER_NAME=AdminServer
#log directory
LOG_DIR=/logs/weblogic/${DOMAIN_NAME}/${SERVER_NAME}/stdout
#execute tail
tail -100f $LOG_DIR/$SERVER_NAME.out
서버 중지 스크립트
stop.py
connect(url=sys.argv[1])
shutdown(force='true')
exit()
stop.sh
##### user check #####
#user check
USER=`whoami`
if [ "$USER" != "midadm" ]
then
echo =============================================
echo You are not weblogic user, Please change user
echo =============================================
exit
fi
#-------------------------------------------------------------
#stop server
. ./bin/setDomainEnv.sh
java weblogic.WLST -skipWLSModuleScanning stop.py t3://127.0.0.1:1000
'WebLogic > 설치, 패치' 카테고리의 다른 글
[weblogic] 윈도우 서비스 - stdout log rotation (0) | 2021.07.01 |
---|---|
[weblogic] 윈도우 서비스 등록 및 삭제 가이드 (0) | 2021.07.01 |
[weblogic] windows 환경 - 기동 스크립트 예시 - apache rotatelogs 활용 (0) | 2021.06.11 |
weblogic stdout log rotation - logrotate.d 에 등록 시 주의사항 (0) | 2021.06.11 |
weblogic server log rotation - 파일명에 날짜 기록 (0) | 2021.06.11 |