项目要求项目下发时不用进控制台界面操作,直接用命令行(头都大了)
一开始只知道 ./startWebLogic.sh ./stopNodeManager.sh这怎么能解决啊。。。啊。。。
整个下发过程:
1.备份、停止、删除原有部署项目
2.停止受管服务节点
3.重新部署、启动
4.重启受管服务节点
上面的命令根本不管事啊。。
之后经过查找资料,发现了两个命令 weblogic.Deployer和weblogic.Server
参考:http://edocs.weblogicfans.NET/wls/docs92/deployment/deploy.html
http://www.beansoft.biz/weblogic/docs92/admin_ref/weblogicServer.html
http://www.blogjava.net/fastzch/archive/2007/12/27/170946.html
一、首先说说weblogic.Deployer,就是部署应用程序和模块,命令如下
wlslib=/weblogic/wlserver_10.3/server/lib
export wlslib
Java -cp $wlslib/weblogic.jar:$wlslib/wlepool.jar:$wlslib/wleorb.jar weblogic.Deployer -adminurlhttp://locahost:7200/ -usernameweblogic -passwordweblogic -name test -targets test_cluster -deploy /weblogic/deploy/test.war
红色区是相关参数一开始这些参数搞不懂报了一些错,第一处是weblogic提供的命令(如weblogic.jar)的所在,第二处是weblogic服务的地址,最好用ip,第三处和第四处是账户和密码,这不用说,第五处是指在其上分发和部署应用程序或模块的目标,我这是集群的名称,也可以到config.xml中查看(/weblogic/user_projects/domains/test_domain/config)
- <app-deployment>
- <name>testname>
- <target>test_clustertarget>
- <module-type>warmodule-type>
- <source-path>/weblogic/deploy/test.warsource-path>
- <deployment-order>100deployment-order>
- <security-dd-model>DDOnlysecurity-dd-model>
- app-deployment>
另:在过程中遇到一个报错
- [Deployer:149163]The domain edit lock is owned by another session in non-exclusive mode - this deployment operation requires exclusive access to the edit lock and hence cannot proceed. If you are using "Automatically Aquire Lock and Activate Changes" in the console, then the lock will expire shortly so retry this operation.
这是因为之前用控制台操作锁了,“释放配置”即可
以上是安装部署,那怎么停止删除呢,用-undeploy,命令如下:
wlslib=/weblogic/wlserver_10.3/server/lib
export wlslib
java -cp $wlslib/weblogic.jar:$wlslib/wlepool.jar:$wlslib/wleorb.jar weblogic.Deployer -adminurl http://localhost:7200/ -username weblogic -password weblogic -name test -undeploy
别的不说,只说name,就是控制平台里部署的名字
二、weblogic.Server,启动服务器
因为一些参数不明确,总报错
- <BEA-090783> <Server is Running in Development Mode and Native Library(terminalio) to read the password securely from commandline is not found.>
使用-Dweblogic.management.allowPasswordEcho=true
参考自http://rodrigoportela.blog.br/category/servers/
-Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic 账户和密码
完整命令如下(还有问题)
- wlslib=/weblogic/wlserver_10.3/server/lib
- export wlslib
- java -cp $wlslib/weblogic.jar:$wlslib/wlepool.jar:$wlslib/wleorb.jar -Dweblogic.Name=appms1 -Dweblogic.management.server=localhost:7201 -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic -Dweblogic.RootDirectory=/weblogic/user_projects/domains/test_domain/ -Dweblogic.management.allowPasswordEcho=true weblogic.Server
- <Error> <Socket> <BEA-000438>
- <Error> <Configuration Management> <BEA-150000>
- <Error> <WebLogicServer> <BEA-000383>
参考:http://www.cnblogs.com/fengqingtao/p/3513660.html
http://fm928.blog.163.com/blog/static/748135201059111427589/
http://blog.itpub.net/507279/viewspace-713997/
其实将
改为
就ok了(还是英语水平不过关啊。。。,把Dweblogic.management.server以为该受管服务器的访问地址了,其实就是管理服务器地址。。。)
三、使用脚本管理器启动关闭受管服务器
以上是使用 Java weblogic.Server 命令启动受管服务器,但我不知道怎么让它成为后台命令,每起个服务要打开新的连接。。
所以又看到了“使用脚本管理器启动关闭受管服务器” 参考:http://www.beansoft.biz/weblogic/docs92/server_start/overview.html
命令如下:
- cd /weblogic/user_projects/domains/test_domain/bin
- 开启
- nohup sh ./startManagedWebLogic.sh app1 http://localhost:7200 -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic -Dweblogic.system.StoreBootIdentity=true&
- 关闭
- ./stopManagedWebLogic.sh app1 http://localhost:7200 weblogic weblogic
app1是受管服务器
http://localhost:7200
管理服务器地址
四、服务器启动时参数
服务器启动时设置了个类路径参数,用脚本启动时不管用了,搞了半天,,,,
- nohup sh ./startManagedWebLogic.sh app1 http://localhost:7200 -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic -Dweblogic.system.StoreBootIdentity=true -classpath "/weblogic/wlserver_10.3/server/lib/weblogic.jar:/weblogic/sa"&
五、关于账户密码的明文
由于项目下发,那边的要求是命令里不带账户密码的明文,可以手输入,最好输一遍就后面不用输了
上面在启动服务器时提到的
- -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic -Dweblogic.system.StoreBootIdentity=true
第一次时会在节点下的security里会生成个boot.properties文件,会保存账户密码,可以通过下面命令找到这个文件
- -Dweblogic.system.BootIdentityFile=/weblogic/user_projects/domains/test_domain/servers/AdminServer/security/boot.properties
六、完整
1)关闭删除应用
- wlslib=/weblogic/wlserver_10.3/server/lib
- export wlslib
- java -cp $wlslib/weblogic.jar:$wlslib/wlepool.jar:$wlslib/wleorb.jar weblogic.Deployer -adminurl http://localhost:7200/ -name test -undeploy
2)关闭服务
- cd /weblogic/user_projects/domains/sam_domain/bin
- ./stopManagedWebLogic.sh app1 http://localhost:7200
3)重新部署
- wlslib=/weblogic/wlserver_10.3/server/lib
- export wlslib
- java -cp $wlslib/weblogic.jar:$wlslib/wlepool.jar:$wlslib/wleorb.jar weblogic.Deployer -adminurl http://localhost:7200/ -name test -targets
-
- test_cluster -deploy /weblogic/deploy/test.war
4)重启受管服务节点
- nohup sh ./startManagedWebLogic.sh app http://localhost:7200 -Dweblogic.system.BootIdentityFile=/weblogic/user_projects/domains/test_domain/servers/AdminServer/security/boot.properties -
-
- Dweblogic.system.StoreBootIdentity=true -classpath "/weblogic/wlserver_10.3/server/lib/weblogic.jar:/weblogic/sa"&