最近一个项目,需要将web部署到weblogic,但是客户的测试环境版本和正式版本不一样,导致了额外的工作;
其实也挺好,反正一个人在外面不能陪老婆孩子,陪陪电脑也是挺好的。
不废话了,开始正题。因为网站的编码格式问题,某些路径或命令显示的走样了,希望你能理解正确。
1.下载weblogic的安装包,包下载起来很麻烦,后来和同事要的包,名子如下:fmw_12.1.3.0.0_wls.jar
完全出乎我的意料。。。。
遇到的第一个问题,上传jar包后,执行安装命令java -jar fmw_12.1.3.0.0_wls.jar 解压了一会提示jdk不支持;所以第一个问题就是下载jdk1.8也是客户要求的版本。
说到jdk作为好久不碰java的人,我真的是搞不清楚它的名子叫什么,最后找了很久,才发现它有时候的安装名子就不是jdk1.8,而是另外的名子,好些还不好下载,oracle要注册,某网站的一些鸟人jdk下载还要给他们付钱,我去他大爷的。
分享一个小哥的链接:http://ghaffarian.net/downloads/
支持迅雷,速度挺好的。
第二个问题,解压jdk的压缩包,设置环境变量,但是执行weblogic安装,还是提示jvm不支持,貌似升级jdk没生效,是的确实没有生效。
好多的兄弟分享处理这个问题,只提到了解压和设置环境变量,但是没有提到设置系统使用的java版本,我会分享回来,也感谢分享出来的兄弟。
alternatives --install /usr/bin/java java /opt/java/jdk1.8.0_202/bin/java 4[第几个安装的jdk] 将新安装的jdk放到java bin中
update-alternatives --config java 选择java版本
这两个命令很关键,第一个是把自己安装的新的jdk添加到系统里面,这么说可能不准确,但是你执行命令后,你就知道我在说什么。
第二个直接选择新安装的jdk,作为系统默认的jdk。
整体升级jdk的所有操作如下:
mkdir /opt/java
chmod 755 /opt/java
cp jdk-8u202-linux-x64.tar.gz.gz /opt/java
cd /opt/java
tar -xzvf jdk-8u202-linux-x64.tar.gz.gz /opt/java
rm jdk-8u202-linux-x64.tar.gz.gz
vim /etc/profile
export JAVA_HOME=/opt/Java/jdk1.8.0_102
export CLASSPATH=$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre
source /etc/profile
alternatives --install /usr/bin/java java /opt/java/jdk1.8.0_202/bin/java 4[第几个安装的jdk] 将新安装的jdk放到java bin中
update-alternatives --config java 选择java版本
2.Jdk的问题搞定之后,我们继续我们的weblogic安装,这时你会发现,weblogic不允许使用root权限安装,下面是创建安装weblogic的用户及操作,因为要模拟客户的环境,所以没有免俗,看大家都用的用户名weblogic。
都是基本命令就不解释了吧
groupadd weblogic
useradd -g weblogic -d /u01/weblogic weblogic
Passwd weblogic
chown -R weblogic:weblogic /u01
3.切换weblogic用户开始安装,这个时候又出现了一个问题,当然如果你安装服务器的时候安装了桌面的话,或者就不出现了吧。我是最小化命令行模式,所以在这里会报错,安装不下去了。根据报错,最后发现和没有安装桌面有关系,weblogic提供了一个叫slient安装的模式,对了这里weblogic 12c是不支持 -mode=console安装的,需要先创建两个配置文件,然后才可以实现slient模式安装,需要的操作如下。
export DISPLAY=127.0.0.1:0.0
vim oraInst.loc
inventory_loc=/u01/weblogic
inst_group=weblogic
vim wls.rsp
[ENGINE]
Response File Version=1.0.0.0.0
[GENERIC]
ORACLE_HOME=/u01/weblogic/Oracle/Middleware
INSTALL_TYPE=WebLogic Server
DECLINE_SECURITY_UPDATES=true
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
创建好上面的两个配置文件,和安装包放置到一起,然后执行下面的安装命令。
java -jar fmw_12.1.3.0.0_wls.jar -silent -response /u01/wls.rsp -invPtrLoc /u01/oraInst.loc
很快提示安装成功 100%,如果没有报错,那么weblogic就已经安装好了。
接下来,创建域,添加业务容器,也叫被管服务器,这里面也出现了问题,因为是模仿的客户的环境,所以往下写就不解释了吧,操作一路下来,你就可以随便操作weblogic创建被管服务器了。
设置weblogic环境变量
cd /u01/weblogic/Oracle/Middleware/wlserver/server/bin
./setWLSEnv.sh
创建app用户,创建app用户的weblogic目录
groupadd app
useradd -g app -d /app app
passwd app
使用app登录创建域目录
ssh app@192.168.93.128
在app的家目录创建.profile
vim .profile
export JAVA_HOME=/opt/java/jdk1.8.0_202
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/libext
export PATH=$PATH:$JAVA_HOME/bin
source .profile 使配置生效
mkdir /domains/sandbox_domain && cd domains/sanbox_domain
cd /u01/weblogic/Oracle/Middleware/wlserver/server/bin
vim setWLSEnv.sh
WL_HOME="/u01/weblogic/Oracle/Middleware/wlserver"
./setWLSEnv.sh
cd /u01/weblogic/Oracle/Middleware/oracle_common/common/bin/wlst.sh
./wlst.sh
cd /u01/weblogic/Oracle/Middleware/wlserver/common/templates/scripts/wlst
cp basicWLSDomain.py /app/domains/sandbox_domain/sandbox.py
cd /app/domains/sandbox_domain/
修改基本的创建域的配置文件,主要设置域的路径,登录console(网页)的用户名和密码
/u01/weblogic/Oracle/Middleware/oracle_common/common/bin/wlst.sh sandbox
console打开速度慢优化
打开域使用的java.security
vim ./jre/lib/security/java.security
修改 seucrerandom.source=file:/dev/./urandom
securerandom.source=file:/dev/./urandom
cd /app/domains/sandbox_domain/nodemanager
vim vim nodemanager.properties
ListenPort=5556
SecureListener=false
StartScriptEnabled=true
cd /app/domains/sandbox_domain
./startWebLogic.sh
在控制台新建服务器,不绑定任何IP,因为被管服务器不绑定IP可以从任意有weblogic启动环境的机器启动
console配置只是个weblogic server上添加了被管服务器的信息而已
cd /app/domains/sandbox_domain/bin
最重要的就是启动被管服务器,如下:
./startManagedWebLogic.sh 创建的服务器名子 http://192.168.93.128:7001
对了,创建被管服务器用的是 安装好weblogic的目录下的python配置文件,具体的操作上面有,下面把配置文件贴出来。
readTemplate("/u01/weblogic/Oracle/Middleware/wlserver/common/templates/wls/wls.jar")
cd('Servers/AdminServer')
set('ListenAddress','')
set('ListenPort', 7001)
cd('/')
cd('Security/base_domain/User/weblogic')
cmo.setPassword('weblogic123')
setOption('OverwriteDomain', 'true')
setOption('JavaHome','/opt/java/jdk1.8.0_202')
writeDomain('/app/domains/sandbox_domain')
closeTemplate()
exit()
配置文件内容挺多的,我只看了一个老哥的博文,然后用了上面的一点,没用的可以删掉,也可以#注释掉就好。
如果你用的是redhat6.7我想你可能也会遇到另外库文件的问题,看我前几天发的解决GLIBC_*的博文,你一定可以解决掉的。