weblogic下发步骤使用命令行代替控制台界面

来源:互联网 发布:乾隆下江南 知乎 编辑:程序博客网 时间:2024/05/23 22:59

项目要求项目下发时不用进控制台界面操作,直接用命令行(头都大了)

一开始只知道 ./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)

[html] view plain copy
  1. <app-deployment>  
  2.     <name>test</name>  
  3.     <target>test_cluster</target>  
  4.     <module-type>war</module-type>  
  5.     <source-path>/weblogic/deploy/test.war</source-path>  
  6.     <deployment-order>100</deployment-order>  
  7.     <security-dd-model>DDOnly</security-dd-model>  
  8.   </app-deployment>  
另:在过程中遇到一个报错
[html] view plain copy
  1. [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,启动服务器

因为一些参数不明确,总报错

[html] view plain copy
  1. <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 账户和密码


完整命令如下(还有问题)

[html] view plain copy
  1. wlslib=/weblogic/wlserver_10.3/server/lib  
  2. export wlslib  
  3. 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  


[html] view plain copy
  1. <Error> <Socket> <BEA-000438>   
  2. <Error> <Configuration Management> <BEA-150000>  
  3. <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/

其实将

[html] view plain copy
  1. localhost:7201  
改为
[html] view plain copy
  1. http://localhost:7200/  

就ok了(还是英语水平不过关啊。。。,把Dweblogic.management.server以为该受管服务器的访问地址了,其实就是管理服务器地址。。。大哭

三、使用脚本管理器启动关闭受管服务器

以上是使用 Java weblogic.Server 命令启动受管服务器,但我不知道怎么让它成为后台命令,每起个服务要打开新的连接。。

所以又看到了“使用脚本管理器启动关闭受管服务器” 参考:http://www.beansoft.biz/weblogic/docs92/server_start/overview.html

命令如下:

[html] view plain copy
  1. cd /weblogic/user_projects/domains/test_domain/bin  
  2. 开启  
  3. nohup sh ./startManagedWebLogic.sh app1 http://localhost:7200 -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic -Dweblogic.system.StoreBootIdentity=true&  
  4. 关闭  
  5. ./stopManagedWebLogic.sh app1 http://localhost:7200 weblogic weblogic  

app1是受管服务器 http://localhost:7200 管理服务器地址

四、服务器启动时参数

服务器启动时设置了个类路径参数,用脚本启动时不管用了,搞了半天,,,,

[html] view plain copy
  1. 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"&  

五、关于账户密码的明文

由于项目下发,那边的要求是命令里不带账户密码的明文,可以手输入,最好输一遍就后面不用输了

上面在启动服务器时提到的

[html] view plain copy
  1. -Dweblogic.management.username=weblogic -Dweblogic.management.password=weblogic -Dweblogic.system.StoreBootIdentity=true  
第一次时会在节点下的security里会生成个boot.properties文件,会保存账户密码,可以通过下面命令找到这个文件

[html] view plain copy
  1. -Dweblogic.system.BootIdentityFile=/weblogic/user_projects/domains/test_domain/servers/AdminServer/security/boot.properties  

六、完整

1)关闭删除应用

[html] view plain copy
  1. wlslib=/weblogic/wlserver_10.3/server/lib  
  2. export wlslib  
  3. java -cp $wlslib/weblogic.jar:$wlslib/wlepool.jar:$wlslib/wleorb.jar weblogic.Deployer -adminurl http://localhost:7200/ -name test -undeploy  

2)关闭服务

[html] view plain copy
  1. cd /weblogic/user_projects/domains/sam_domain/bin  
  2. ./stopManagedWebLogic.sh app1 http://localhost:7200  

3)重新部署

[html] view plain copy
  1. wlslib=/weblogic/wlserver_10.3/server/lib  
  2. export wlslib  
  3. java -cp $wlslib/weblogic.jar:$wlslib/wlepool.jar:$wlslib/wleorb.jar weblogic.Deployer -adminurl http://localhost:7200/ -name test -targets   
  4.   
  5. test_cluster -deploy /weblogic/deploy/test.war  

4)重启受管服务节点

[html] view plain copy
  1. nohup sh ./startManagedWebLogic.sh app http://localhost:7200 -Dweblogic.system.BootIdentityFile=/weblogic/user_projects/domains/test_domain/servers/AdminServer/security/boot.properties -  
  2.   
  3. Dweblogic.system.StoreBootIdentity=true -classpath "/weblogic/wlserver_10.3/server/lib/weblogic.jar:/weblogic/sa"&  
0 0
原创粉丝点击