2009年4月20日星期一

Weblogic开启关闭


概述
近日由于项目需要,花了些时间部署了我们开发的demo环境到客户公司,客户公司使用的是IBM的AIX操作系统,由于是ADF应用,应用服务器也就毫无疑问地选择了Weblogic。而在应用部署过程中,总结了一些比较有用的Weblogic启动和关闭的脚本。

实现
1、使用相关Telnet工具登录到远程服务器,创建将要发布应用的domain,这里名为demo_domain。
2、正常启动Weblogic:
cd到/bea/user_projects/domains/demo_domain/bin
使用命令./startWebLogic.sh启动Weblogic
此时,Weblogic可以正常启动,但是当使用ctrl+c或关闭当前窗口后,Weblogic即立刻停止,显然在正式应用中这样的方式一般来说是不符合要求的。
3、后台启动(以服务方式启动)Weblogic:
为解决上面描述的问题,需要在后台启动Weblogic,也就是经常提到的以服务的方式启动Weblogic,将信息输出到文件中,这里输出到demo.log。
#nohup ./startWebLogic.sh >demo.log 2>&1 &
在执行上面的命令后,将返回一个进程号,可以记录该进程号,当Weblogic无法正常关闭时,可以通过命令行结束进程。
4、一般来说,启动Weblogic时一般需要输入用户名和密码,在这里假定用户名和密码都是weblogic。当后台启动Weblogic时,输出信息到提示输入用户名时即停止,无法继续正常开启。为解决这样的问题,可以通过修改相应的启动脚本。在这里,我修改了bin目录下的setDomainEnv.sh,添加了如下代码:
WLS_USER=weblogic
WLS_PW=weblogic
JAVA_OPTIONS=-Dfile.encoding=UTF-8
5、停止Weblogic:
./stopWebLogic.sh
有时使用此命令无法正常停止Weblogic,经测试,这种现象还是经常发生的,在出现该状况时需要强行停止该进程。
首先使用ps –ef|grep java查看当前进程,找到该进程,当然,如果刚才已经记录了进程编号,这里就无需再进行查询。
查到后使用 kill -9 进程编号 停止该进程。
有的操作系统用线程模拟进程,部分操作系统下面,Weblogic进程变现为多线程,需要用脚本杀死Weblogic多线程。
ps –ef|grep java |awk ‘{printf “kill -9 ”$2}’>killjava
sh killjava 就可以停掉Weblogic的java进程,但是需要注意该机器是否还有其他java进程,切记小心停错!

参考:http://cyr1974.itpub.net/post/2066/247321
http://liwp_stephen.itpub.net/post/3553/24829
http://www.lupaworld.com/bbs/thread-14112-1-1.html

0 评论:

发表评论