本旺最近在为项目组负责进行灾备工作,分享如何先快速搭建weblogic 服务器环境,废话不多说,直接以12.2版本为例!
weblogic自带一个非常强大 的脚本工具可以对weblogic进行自动化建域建实例等,还可以进行各种个性化配置,管理页面上可以实现的功能大多都可以用自动化脚本的方式来完成,工具名:wlst.sh
安装前需要将文件上传至服务器安装位置:
先安装JDK
JDK 安装shell如下:
pwd=$PWD
if [ -f $pwd/${JDK_FILE} ];then
if [ ! -d ${JAVA_HOME} ];then
mkdir -p ${JAVA_HOME}
else
rm -rf ${JAVA_HOME}
mkdir -p ${JAVA_HOME}
fi
tar -C ${JAVA_HOME} -xf $pwd/${JDK_FILE}
if [ $? -eq 0 ]; then
mv ${JAVA_HOME}/jdk1.8.*/* ${JAVA_HOME} && rm -rf ${JAVA_HOME}/jdk1.8.*
if [ $? -eq 0 ]; then
${JAVA_HOME}/bin/java -version
sed -i '/export JAVA_HOME=(.*)/d' ~/.bash_profile
sed -i '/export PATH=(.*)/d' ~/.bash_profile
sed -i '/export CLASSPATH=(.*)/d' ~/.bash_profile
echo "export JAVA_HOME=${JAVA_HOME}" >> ~/.bash_profile
echo -e 'export PATH=${JAVA_HOME}/bin:$PATH' >> ~/.bash_profile
echo -e 'export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> ~/.bash_profile
else
echo "<<< Failed to install JDK"
fi
else
echo "<<< Failed to install JDK"
fi
else
echo " not found ${JDK_FILE}"
fi
sleep 10
source ~/.bash_profile
安装weblogic
执行shell 如下
#!/bin/bash
. ./setEnv.sh
umask ${UMASK_VALUE}
pwd=$PWD
if [ -f ${WLS_FILE} ];then
if [ -d ${ORACLE_HOME} ];then
rm -rf ${ORACLE_HOME}
fi
RESPonSE=responseFile.rep
echo "[ENGINE]" > $pwd/${RESPONSE}
echo "Response File Version=1.0.0.0.0" >> $pwd/${RESPONSE}
echo "ORACLE_HOME=${ORACLE_HOME}" >> $pwd/${RESPONSE}
echo "INSTALL_TYPE=WebLogic Server" >> $pwd/${RESPONSE}
echo "DECLINE_SECURITY_UPDATES=true" >> $pwd/${RESPONSE}
echo "SECURITY_UPDATES_VIA_MYORACLESUPPORT=false" >> $pwd/${RESPONSE}
orainst=orainst.loc
echo "inventory_loc=${ORACLE_HOME}/inventory" > $pwd/${orainst}
echo "inst_group=${USER}" >> $pwd/${orainst}
if [ -d ${tmpdir} ];then
rm -rf ${tmpdir}
fi
java -Xmx1536m -Djava.io.tmpdir=${tmpdir} -jar ./${WLS_FILE} -silent -responseFile $pwd/${RESPONSE} -invPtrLoc $pwd/${orainst} -force -ignoreSysPrereqs
if [ $? -eq 0 ]; then
sed -i "s/umask 027/umask ${UMASK_VALUE}/g" ${ORACLE_HOME}/oracle_common/common/bin/setWlstEnv_internal.sh
sed -i "s/umask 027/umask ${UMASK_VALUE}/g" ${ORACLE_HOME}/oracle_common/common/bin/config_internal.sh
echo 'export UTILS_MEM_ARGS="${MEM_ARGS} ${CONFIG_JVM_ARGS}"' >> ${ORACLE_HOME}/oracle_common/common/bin/commbaseEnv.sh
echo 'export JAVA_OPTIONS="${JAVA_OPTIONS} ${CONFIG_JVM_ARGS}"' >> ${ORACLE_HOME}/oracle_common/common/bin/commbaseEnv.sh
sed -i "s/umask 027/umask ${UMASK_VALUE}/g" ${ORACLE_HOME}/wlserver/server/bin/startNodeManager.sh
sed -i "s/umask 027/umask ${UMASK_VALUE}/g" ${ORACLE_HOME}/wlserver/server/bin/stopNodeManager.sh
sleep 1
chmod -R 754 ${ORACLE_HOME}
grep MW_HOME ~/.bash_profile
if [ $? -eq 0 ]; then
sed -i '/MW_HOME/d' ~/.bash_profile
sed -i '/WL_HOME/d' ~/.bash_profile
fi
echo "export MW_HOME=${ORACLE_HOME}" >> ~/.bash_profile
echo 'export WL_HOME=${MW_HOME}/oracle_common' >> ~/.bash_profile
sleep 10
source ~/.bash_profile
echo "<<< weblogic has been successfully install in ${ORACLE_HOME}"
else
echo "<<< Failed to install weblogic in ${ORACLE_HOME}"
fi
rm -rf $pwd/${orainst}
rm -rf $pwd/${RESPONSE}
else
echo " not found ${WLS_FILE}"
fi
创建Domain
创建shell如下:
#!/bin/bash
. ./setEnv.sh
pwd=$PWD
newWLSDomain=WLSDomain.py
##获取创建Domain py
grep "readTemplate(" ${ORACLE_HOME}/wlserver/common/templates/scripts/wlst/${oldWLSDomain} > $pwd/${newWLSDomain}
echo "set('Name','${DOMAIN_NAME}')" >> $pwd/${newWLSDomain}
echo "set('AdminServerName','${ADMIN_NAME}')" >> $pwd/${newWLSDomain}
###确定该服务的监听端口
echo "cd('Servers/AdminServer')" >> $pwd/${newWLSDomain}
echo "set('ListenAddress','${ADMIN_IP}')" >> $pwd/${newWLSDomain}
echo "set('ListenPort', ${ADMIN_PORT})" >> $pwd/${newWLSDomain}
echo "cmo.setTunnelingEnabled(true)" >> $pwd/${newWLSDomain}
echo "cmo.setName('${ADMIN_NAME}')" >> $pwd/${newWLSDomain}
###确定weblogic控制台的登录密码
echo "cd('/')" >> $pwd/${newWLSDomain}
echo "cd('Security/' + '${DOMAIN_NAME}' + '/User/${WEBNAME}')" >> $pwd/${newWLSDomain}
echo "set('Password','${WEBPASSWORD}')" >> $pwd/${newWLSDomain}
echo "setOption('ServerStartMode', 'prod')" >> $pwd/${newWLSDomain}
echo "setOption('JavaHome','${JAVA_HOME}')" >> $pwd/${newWLSDomain}
echo "setOption('OverwriteDomain', 'true')" >> $pwd/${newWLSDomain}
###确定域名basicWLSDomain域名
echo "writeDomain('${DOMAIN_HOME}')" >> $pwd/${newWLSDomain}
echo "closeTemplate()" >> $pwd/${newWLSDomain}
###boot.properties
echo "os.makedirs('${DOMAIN_HOME}' + '/servers/' + '${ADMIN_NAME}' + '/security')" >> $pwd/${newWLSDomain}
echo "identityFile=open('${DOMAIN_HOME}' + '/servers/' + '${ADMIN_NAME}' + '/security/boot.properties','w')" >> $pwd/${newWLSDomain}
echo "identityFile.write('username=' + '${WEBNAME}n')" >> $pwd/${newWLSDomain}
echo "identityFile.write('password=' + '${WEBPASSWORD}n')" >> $pwd/${newWLSDomain}
echo "identityFile.close()" >> $pwd/${newWLSDomain}
echo "exit()" >> $pwd/${newWLSDomain}
### 创建 主节点
weblog=startWebLogic.sh
sh ${ORACLE_HOME}/oracle_common/common/bin/wlst.sh $pwd/${newWLSDomain}
if [ $? -eq 0 ]; then
sed -i "s/umask 027/umask ${UMASK_VALUE}/g" ${DOMAIN_HOME}/bin/${weblog}
sed -i '/export DERBY_FLAG=false/d' ${DOMAIN_HOME}/bin/setDomainEnv.sh
echo "export DERBY_FLAG=false" >> ${DOMAIN_HOME}/bin/setDomainEnv.sh
sed -i "s/umask 027/umask ${UMASK_VALUE}/g" ${DOMAIN_HOME}/nodemanager/nodemanager.properties
chmod -R 754 ${DOMAIN_HOME}
echo "############ Domain has been successfully install ${ORACLE_HOME} ##########"
else
echo "<<< Failed to create Domain in ${ORACLE_HOME}"
fi
rm -rf $pwd/${newWLSDomain}
startWeb=${DOMAIN_HOME}/${weblog}
grep CONFIG_JVM_ARGS ${startWeb}
if [ $? -eq 0 ]; then
sed -i '/CONFIG_JVM_ARGS/d' ${startWeb}
fi
number=$(grep -rn "DOMAIN_HOME=" ${startWeb} |awk -F ":" '{print $1}')
sed -i "$(($number+1))i ${CONFIG_JVM_ARGS}" ${startWeb}
启动Domain
此时weblogic 已经可以登录控制台:
创建server:
创建server节点:
创建manager 及数据源
此时:
此时除了需要部署的war包外,weblogic 已经可以正常使用
需要详细 shell 步骤的留言



