Weblogic 설치

akanana·2022년 3월 17일
0

Weblogic

목록 보기
1/14

JDK 설치


weblogic 설치를 위한 JDK 설치가 필요하다.

OpneJDK로는 정상적으로 설치가 되지 않는다.

Weblogic 설치


silent 모드를 통하여 Weblogic을 설치하였다.

설치명령어

java -jar ./weblogic.jar -silent -responseFile wls.rsp [-invPtrLoc oraInst.loc]

wls.rsp

설치시 해당 response 파일 설정을 기반으로 프로그램이 설치된다.

[ENGINE]
#Config File Version
Response File Version=1.0.0.0.0

[GENERIC]
ORACLE_HOME=[ORACLE_HOME]
INSTALL_TYPE=WebLogic Server
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
DECLINE_SECURITY_UPDATES=true
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
COLLECTOR_SUPPORTHUB_URL=

oraInst.loc

oraInst.loc은 별도로 생성 후 지정하여 설치하여도 되지만, /etc/oraInst.loc에 위치시킨 후, 생략하여 사용 가능하다.
오라클 인벤토리 홈, 오라클 인벤토리 그룹 이름을 지정한다

inventory_loc=[inventory_home]
inst_group=[inventory_group_name]
주의 사항

wls.rsp 및 oraInst.loc 지정시, 반드시 절대경로로 작성하여야 한다

Weblogic Topology



웹로직은 기본적으로 하나의 Domain, 하나의 Admin Server, N개의 Managed Server로 구성되어있다.

Domain 설치


[ORACLE_HOME]/oracle_common/common/bin/config.sh를 통하여 GUI 기반 설치가 가능하다.
이 글에서는 WLST를 통하여 도메인 설치를 진행하였다.

설치 명령어

cd [ORACLE_HOME]/wlserver/common/bin
./wlst.sh createDomain.py

createDomain.py

ORACLE_HOME=''
ADMIN_USER=''
ADMIN_PW=''
AS_NAME=''
AS_ADDRESS=''
AS_PORT=''
DOMAIN_NAME=''

# Create Template
if version[16:18]=='14':
    AS_TEMPLATE='Basic WebLogic Server Domain'
    selectTemplate(AS_TEMPLATE)
    loadTemplates()
elif version[16:18]=='12':
    AS_TEMPLATE_JAR=ORACLE_HOME+'/wlserver/common/templates/wls/wls.jar'
    readTemplate(AS_TEMPLATE_JAR)
elif version[16:18]=='10':
    AS_TEMPLATE_JAR=ORACLE_HOME+'/wlserver_10.3/common/templates/domains/wls.jar'
    readTemplate(AS_TEMPLATE_JAR)
else:
    print "ERROR:version is "+version[16:18]
    exit()

# Set Admin
cd('/Security/base_domain/User/weblogic')
cmo.setName(ADMIN_USER)
cmo.setPassword(ADMIN_PW)

# Set ProductuinMode
cd('/');
cmo.setProductionModeEnabled(true)

# Set Admin Server
cd('/Servers/AdminServer')
cmo.setName(AS_NAME)
cmo.setListenAddress(AS_ADDRESS)
cmo.setListenPort(AS_PORT)

cd('/')
writeDomain(ORACLE_HOME+'/domains/'+DOMAIN_NAME)
closeTemplate()
exit()

설치가 끝난 후, DOMAIN_HOME에서 Weblogic을 실행 한 후, IP:PORT/console로 접근하여 웹로직을 실행할 수 있다.

NodeManager 설치


Weblogic은 선택적으로 NodeManager를 설치하여, 인스턴스를 컨트롤 할 수 있다. 이를 통해 콘솔에서 인스턴스를 제어하거나, WLST를 통해 해당 서버에 SSH 접근이 불가능한 상황에서도 인스턴스 제어 및 설정이 가능하다.

설치 명령어

wlst.sh createNodeManager.py

createNodeManager.py

from util import *

#Connect to Admin
connect(ADMIN_USER,ADMIN_PW,ADMIN_URL)
edit()
startEdit()

# Create NodeManager
cd('/')
cmo.createUnixMachine(NM_NAME)

# Config NodeManager
cd('/Machines/'+NM_NAME+'/NodeManager/'+NM_NAME)
cmo.setListenAddress(NM_ADDRESS);
cmo.setListenPort(NM_PORT);
cmo.setNMType(NM_TYPE);

# Set Admin Server Machine
cd('/Servers/'+AS_NAME)
cmo.setMachine(getMBean('/Machines/'+NM_NAME))

# Config NodeManager Security
cd('SecurityConfiguration/'+DOMAIN_NAME)
cmo.setNodeManagerUsername(NM_USER)
cmo.setNodeManagerPasswordEncrypted(NM_PASS)

save()
activate()
disconnect()
exit()

Managed Server 설치


웹로직 콘솔에서도 Managed Server 설치가 가능하나, 이 글에서 WLST를 통해 Managed 서버를 설치해 보았다.

설치 명령어

wlst.sh createManaged.py

createManaged.py

# config admin info
adminurl=''
username=''
password=''

# config ms base info
msName=''
msAddress=''
msPort=''

# cluster config
clusterName=''

# machine config
machineName=''

# log config
logDate='%yyyy%%MM%%dd%'

# connect to admin
connect(username,password,adminurl)
edit()
startEdit()


# create Managed Server
MS=getMBean('Servers/'+msName)
CLUSTER=getMBean('/Clusters/' + clusterName)
MACHINE=getMBean('/Machines/' +machineName)

if MS is None:
    print "#### create Managed Server : "+msName
    cd('/')
    cmo.createServer(msName)
    cd('/Servers/'+msName)
    cmo.setListenAddress(msAddress)
    cmo.setListenPort(int(msPort))
    cmo.setWeblogicPluginEnabled(true)
    #cmo.getWebServer().setMaxRequestParameterCount(30000);
else:
    print "#### Managed Server is already exist"

# set Cluster
def configCluster():
    print "#### conf Cluster : "+clusterName
    cd('/Servers/'+msName)
    cmo.setCluster(CLUSTER)


if CLUSTER is not None:
    configCluster()
elif clusterName!='':
    print "#### create Cluster : "+clusterName
    cd('/')
    cmo.createCluster(clusterName);
    configCluster()

# set Nodemanager
def configMachine():
    print "#### conf Nodemanager : "+machineName
    cd('/Servers/'+msName)
    cmo.setMachine(MACHINE)


if MACHINE is not None:
    configMachine()
elif machineName!='':
    print "#### create Nodemanager : "+machineName
    cd('/')
    cmo.createMachine(machineName);
    configMachine()



# set Log
if False:
    # config Server Log
    cd('/Servers/' + msName + '/Log/' + msName)
    #
    cmo.setRotationType('byTime')
    cmo.setFileCount(30)
    cmo.setRedirectStderrToServerLogEnabled(true)
    cmo.setRedirectStdoutToServerLogEnabled(true)
    # Trace, Debug, Info, Notice, Warning, Error, Critical, Alert, Emergency, Off
    cmo.setMemoryBufferSeverity('debug')
    # Trace, Debug, Info, Notice, Warning
    cmo.setLogFileSeverity('Notice')
    # log name by date
    cmo.setFileName('logs/'+logDate+msName+'.log')

    # config HTTP Log
    cd('/Servers/'+msName+'/WebServer/'+msName+'/WebServerLog/'+msName)
    cmo.setRotationType('byTime')
    cmo.setFileCount(30)
    cmo.setFileName('logs/'+logDate+'access.log')

    cd('/Servers/'+msName+'/WebServer/'+msName+'/DataSourceLogFile/'+msName)
    cmo.setRotationType('byTime')
    cmo.setFileCount(30)
    cmo.setFileName('logs/'+logDate+'datasource.log')

# Disconnect to Admin
save()
activate()
disconnect()
exit()

0개의 댓글