文章中weblogic静默安装部分参考自:
https://www.jianshu.com/p/7f7fe19a9239
之前用命令安装时弹出的安装界面中文乱码了,这次使用静默安装,参考了上面大佬的操作后安装成功了,在此分享出来。
除此之外,个人还总结了一些其他的安装方式以及可能遇到的问题及解决方式。
linux系统:CentOS8
JDK:1.8 //oracle官网自行下载
Weblogic:12.2 //oracle官网自行下载,windows/linux通用
开始吧。
1、在root下新建weblogic用户和组
groupadd weblogic //新建weblogic组
useradd -g weblogic weblogic //新建weblogic用户并添加到weblogic组
passwd weblogic //设置用户密码
weblogic123 //输入
mkdir /usr/local/weblogic //新建weblogic目录
chmod +x /usr/local/weblogic //赋予该目录可执行权限
2、在当前root用户下安装jdk1.8并配置(之前安装过jdk的跳过此步骤)
vim /etc/profile //编辑该文件 配置jdk如下
export JAVA_HOME=/usr/local/java/jdk1.8.0_231
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}:/usr/local/mysql/bin:/usr/local/mysql/lib
wq!保存退出
source /etc/profile //使该文件立即生效
3、切换到刚才创建的weblogic用户下
su weblogic
vim /etc/profile //查看刚才配置的jdk信息是否在该用户下存在,如果不存在就把刚才root用户/etc/profile下配置信息再复制过来一份到该文件
接下来创建三个目录:
mkdir /usr/local/weblogic/oraInventory //
mkdir /usr/local/weblogic/install
mkdir /usr/local/weblogic/weblogic
将weblogic压缩文件放在/usr/local/weblogic下并解压:
unzip /usr/local/weblogic/fmw_12.2.1.4.0_wls_Disk1_1of1.zip
我的默认解压在了根目录下,解压后得到了jar文件fmw_12.2.1.4.0_wls.jar
将该jar移入刚才新建的usr/local/weblogic/install中:
mv /usr/local/weblogic/fmw_12.2.1.4.0_wls.jar /usr/local/weblogic/install
4、在 /usr/local/weblogic/install下
创建两个配置文件oraInst.loc和wls.rsp
①
vim /usr/local/weblogic/install/oraInst.loc
复制以下内容到文件中:
#产品清单目录,注意不能放在weblogic安装目录下,要保证安装目录为空
inventory_loc=/usr/local/weblogic/oraInventory
#用户的组名称,根据实际的修改,注意用什么用户安装weblogic这里就写什么用户名,我用的是weblogic用户安装的。
inst_group=weblogic
保存后退出
②
vim /usr/local/weblogic/install/wls.rsp
复制以下内容到文件中:
[ENGINE]
#DO NOT CHANGE THIS
Response File Version=1.0.0.0.0
[GENERIC]
#weblogic的安装路径
ORACLE_HOME=/usr/local/weblogic/weblogic
#Set this variable value to the Installation Type selected.e.g. Weblogic Server,Coherence,Complete with Examples.
INSTALL_TYPE=WebLogic Server
DECLINE_SECURITY_UPDATES=true
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
保存后退出
5、使用刚才创建的两个配置文件来安装weblogic
执行如下命令:
java -jar /usr/local/weblogic/install/fmw_12.2.1.4.0_wls.jar -silent -responseFile /usr/local/weblogic/install/wls.rsp -invPtrLoc /usr/local/weblogic/install/oraInst.loc
6、创建domain(注册weblogic用户)
domain是weblogic的执行单位
首先在 /usr/local/weblogic/weblogic/oracle_common/common/bin/config.sh 中添加随机数加快domain的创建。
vim /usr/local/weblogic/weblogic/oracle_common/common/bin/config.sh
在最后一行加入以下命令:
JVM_ARGS="-D java.security.egd=file:///dev/urandom-Dpython.cachedir=/tmp/cachedir ${JVM_D64} ${UTILS_MEM_ARGS} ${SECURITY_JVM_ARGS} ${CONFIG_JVM_ARGS}"
保存退出
其次采用wlst脚本来建立domain:
vim /usr/local/weblogic/install/create_domain.py
加入以下内容:
readTemplate('/usr/local/weblogic/weblogic/wlserver/common/templates/wls/wls.jar')
cd('Servers/AdminServer')
set('ListenPort',7001)
cd('/')
cd('Security/base_domain/User/weblogic')
#如果需要修改管理员用户名weblogic,则需要cmo.setName('weblogic')
cmo.setName('weblogic')
#用户名
cmo.setPassword('weblogic123')
#密码
setOption('ServerStartMode','prod')
setOption('OverwriteDomain','true')
writeDomain('/usr/local/weblogic/weblogic/user_projects/proddomain')
#自定义的domain路径
closeTemplate()
exit()
保存后退出
然后使用/usr/local/weblogic/weblogic/oracle_common/common/bin/wlst.sh脚本来运行以上创建的create_domain.py脚本:
sh /usr/local/weblogic/weblogic/oracle_common/common/bin/wlst.sh /usr/local/weblogic/install/create_domain.py
回车执行后输出如下:
Initializing WebLogic Scripting Tool (WLST) ...
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
Exiting WebLogic Scripting Tool.
7、测试weblogic是否安装成功
执行/usr/local/weblogic/weblogic/user_projects/proddomain/目录下的startWebLogic.sh脚本即可启动weblogic服务:
sh /usr/local/weblogic/weblogic/user_projects/proddomain/startWebLogic.sh
回车后提醒需要输入用户名和密码:
用户名:weblogic
密码:weblogic123
回车后输出日志:
此时在浏览器地址栏输入:
http://localhost:7001/console
回车
再次输入用户名和密码
界面默认是英文的,这与浏览器语言的设置有关系,可以将浏览器语言设置为中文,则界面会以中文显示
8、项目部署
在GUI界面左侧栏中找到部署。然后添加war 包后一直下一步即可。接着在地址栏中输入localhost:7001/项目名称
9、注册weblogic服务开机自动启动
当我们重新启动linux时,需要再次执行startWebLogic.sh脚本后才能启动weblogic服务,这显然是很麻烦的,所以我们要把它做成开机自动启动的服务。开机自动启动的服务脚本都在/etc/init.d目录下,所以我们需要在这下面新建一个服务:
vim /etc/init.d/weblogic //新建weblogic脚本 回车执行
脚本内容如下:
注意:脚本开头的三行必须要有,否则会报错服务不支持chkconfig
#!/bin/sh
#chkconfig:2345 80 90
#description: auto-start weblogic
#weblogic service
export JAVA_HOME=/usr/local/java/jdk1.8.0_231
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
export WEBLOGIC_HOME=/usr/local/weblogic/weblogic/user_projects/proddomain
case "$1" in
start)
if netstat -nlutp | grep 7001|egrep -v grep >/dev/nll
then
echo $"weblogic already started!"
else
echo "Weblogic starting..."
${WEBLOGIC_HOME}/bin/startWebLogic.sh
echo $"Weblogic started!"
fi
exit 0
;;
stop)
if netstat -nlutp | grep 7001 | egrep -v grep >/dev/nll
then
echo $"Weblogic stopping..."
${WEBLOGIC_HOME}/bin/stopWebLogic.sh
sleep 3s
if netstat -nlutp | grep 7001 | egrep -v grep >/dev/nll
then
ps -ef | grep weblogic | grep -v grep | awk '{print $2}' | xargs kill -9
fi
echo $"Weblogic stopped!"
else
echo $"Weblogic is already stopped!"
fi
exit 0
;;
restart)
if netstat -nlutp | grep 7001 | egrep -v grep >/dev/nll
then
echo $"Weblogic stopping..."
${WEBLOGIC_HOME}/bin/stopWebLogic.sh
echo $"Weblogic stopped!"
sleep 3s
echo $"Weblogic restarting..."
${WEBLOGIC_HOME}/bin/startWebLogic.sh
echo $"Weblogic started!"
else
echo $"Weblogic restarting..."
${WEBLOGIC_HOME}/bin/startWebLogic.sh
echo $"Weblogic started!"
fi
exit 0
;;
status)
if netstat -nlutp | grep 7001 | egrep -v grep >/dev/null
then
echo "weblogic is running!"
else
echo "weblogic is stopped!"
fi
exit 0
;;
*)
echo $"Usage: $0{start|stop|restart|status}"
exit 1
;;
esac
exit 0
保存后退出
然后赋予脚本可执行权限并且开机自动启动
chmod +x /etc/init.d/weblogic //赋予脚本可执行权限
chkconfig --add /etc/init.d/weblogic //将脚本添加到开机自动启动列表
chkconfig weblogic on //设置脚本开机自动启动
chkconfig --level 2345 weblogic on //如果脚本开头没有指定开机启动级别,则默认为345级别,可以通过该命令来设定脚本启动级别
reboot //重启linux进行测试
重启后就可以用以下的命令来操作服务:
service weblogic status //查看weblogic服务状态
service weblogic start //启动weblogic服务
service weblogic restart //重启weblogic服务
service weblogic stop //停止weblogic服务
如果以上注册服务的方式不能让weblogic开机自动启动,则可以用如下方式:
方式一:
在 /etc/rc.d/rc.local 中加入jdk路径以及startWeblogic.sh的路径即可。这种方式应该来说适合大部分需要开机自启的脚本。个人试过是可行的
方式二:
在 /etc/profile中加入 startWeblogic.sh 的路径即可。因为在开机时会自动执行profile文件其中的环境,这也是为什么经常将一些环境配置在这里的原因。这种方式简单而粗暴,但看起来不太可靠的样子。但此方法个人试过是可行的。
建议:当注册服务后即使开机无法自启weblogic,也应该使用以上脚本去注册服务,然后再用以上两种方式去添加启动脚本的路径到相应文件。因为这样服务启动后就可以使用命令去操作服务,service weblogic start|restart|stop|status
在每次重启weblogic服务时会发现需要输入用户名和密码,这显然是有些麻烦的。解决:
在/usr/local/weblogic/weblogic/user_projects/proddomain/servers/AdminServer(如果是界面方式安装的weblogic,则在/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer)中新建一个文件夹:security,然后在这个文件夹中新建一个文件:boot.properties,在该文件中写入内容:username=weblogic password=weblogic123 ,保存后退出。重启测试。
boot.properties
日志在:
/usr/local/weblogic/weblogic/user_projects/proddomain/servers/AdminServer/logs
10、界面方式创建domain
在第6步创建domain时也可以通过GUI界面来创建:
执行 /usr/local/weblogic/weblogic/oracle_common/common/bin/目录下的config.sh脚本后会弹出GUI界面:
但弹出的界面中文乱码了:
查看当前用户的字符集:
所以需要改为英文字符集:
进入到config.sh脚本所在的bin目录下:
cd /usr/local/weblogic/weblogic/oracle_common/common/bin/
然后执行:
export LANG=en_US (注意:LANG是大写)
此时再次查看字符集会看到改成了英文字符集
然后再次执行config.sh脚本后回车:(注意脚本路径看仔细,其他路径下的config.sh脚本执行后不会有GUI界面弹出来)
此时的GUI才是人看得懂的
然后一路next创建一个domain即可,最后执行sh /usr/local/weblogic/weblogic/user_projects/proddomain/startWebLogic.sh即可启动weblogic服务
但以上方式修改字符编码后当linux重启后又回到了zh_CN.UTF-8,这种编码方式对于大多数应用来说是没有任何问题的,但对于想weblogic应用来说就会乱码,解决:
方式一:
修改weblogic启动脚本中的编码方式:
vim /usr/local/weblogic/weblogic/user_projects/proddomain/bin/startWebLogic.sh
回车
在以下地方(大概快到脚本80%处)加入 -Dweblogic.webservice.i18n.charset=utf-8,注意不要加入到echo中去了
保存退出
重启weblogic服务,如果之前服务是打开的,则关闭后在再启动
关闭服务执行:
sh /usr/local/weblogic/weblogic/user_projects/proddomain/bin/stopWebLogic.sh
如果关不掉则强制杀死:
ps -ef|grep weblogic //搜索weblogic的pid
kill -9 pid //强制杀死
当注册了weblogic服务就可以使用 service weblogic restart来重启服务了
方式二:
当然也可以直接修改linux系统的字符编码和语言:
vim /etc/locale.conf(centos8是这个文件,其他系统应该是/etc/sysconfig/i18n)
将 LANG="zh_CN.UTF-8" 修改为LANG="en_US.UTF-8"
保存退出后执行 source /etc/locale.conf 让该文件立即生效
再次查看,执行locale或echo $LANG
方式三:
vim /etc/profile
添加
export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"
使文件立即生效
source /etc/profile
再次查看
echo $LANG
11、界面方式安装weblogic
其实在上面的第2步完成jdk的配置后可以直接执行解压出来的jar文件来进入GUI安装界面,这和在windows中安装weblogic是一样的:
执行命令:
java -jar /usr/local/weblogic/install/fmw_12.2.1.4.0_wls.jar
等待片刻后输入:y
输入y后就会弹出GUI界面来进行自己选择安装吧
暂且就写到这里吧!!!