目录
Linux服务器weblogic使用脚本启动应用失败问题解决
【背景】weblogic(12.1.3.0.0)自带的管理控制台可以对应用进行管控,但是时间消耗太长,遂改成执行脚本形式在服务器端启停,运行过一段时间,效率较高。
以下为Linux服务器端停止web应用的执行命令(IP为当前服务器真实IP,示例为虚假IP,仅供参考):
cd /app/weblogic/user_projects/domains/demoDoman/bin
sh stopManagedWeblogic.sh Server-demo t3://20.5.90.22:7001
突然有一天发现停止应用失败,报错内容为认证失败。。。。。。
由于同期做过一次weblogic补丁升级,怀疑是打完补丁后有相关参数被修改,导致命令执行失败。于是在另外一台未打过补丁的服务器上执行相同的命令,发现了一样的报错,便排除了补丁升级造成影响的可能。
既然不是补丁的问题,那么这几台服务器必然做过一样的操作导致原本能执行的脚本不能执行。根据报错的现象看,是认证相关的错误,认证相关的错误无非就是口令、密码等,顿时想起来之前改过一次weblogic管理控制台密码,会不会和这个有关?
先是找到之前修改weblogic密码文件的位置:
cd /app/weblogic/user_project/domains/Domain/servers/AdminServer/security/
vi boot.properties
另外查看应用服务器对应的目录,发现存在一样boot.properties文件
cd /app/weblogic/user_project/domains/Domain/servers/Server-demo/security/
vi boot.properties
【分析】原来weblogic内的每个应用都会存放一份密码文件(boot.properties),而当时修改weblogic密码时只修改了AdminServer的,未将其同步到应用中,所以在执行脚本时会报认证失败的错误。
【解决方法】将AdminServer对应目录下的密码文件拷贝到应用Server-demo对应的目录下即可。