首先,我需要使用测试用户启动 weblogic 服务,但我需要进程所有者是 weblogic 而不是测试用户。
第二件事是我必须启动 weblogicnohup
并将其放入后台,如下所示#nohup ./startweblogic &
我所做的事情如下:
我已将测试用户添加到 sudoers,以便它可以运行启动脚本
我运行以下命令,但进程所有者仍然不是 weblogic。
#su -p -s /bin/sh weblogic "nohup /u01/Oracle/Middleware/user_projects/domains/base_domain/startWebLogic.sh &"
答案1
编辑: “我错误地认为 CentOS 6.8 已经支持 systemd,然而,Centos 仅从 7.0 开始支持它”
在 Centos 6.8 上运行 Weblogic 我建议使用 systemd。如果您使用 Nodemanager,您也可以最好使用 systemd,并使 weblogic 依赖于它。
示例 systemd 系统文件如下所示,更改路径以适合您的情况,但服务文件的位置除外。
vi /etc/systemd/system/wls_adminserver.service
[Unit]
Description=WebLogic Adminserver service
[Service]
Type=simple
WorkingDirectory=/data/domains/base_domain
ExecStart=/data/domains/base_domain/startWebLogic.sh
ExecStop=/data/domains/base_domain/bin/stopWebLogic.sh
User=weblogic
Group=oinstall
[Install]
WantedBy=multi-user.target
使用 sudo 允许用户“test”执行命令:
systemctl start wls_adminmanager
systemctl stop wls_adminmanager
systemctl status wls_adminmanager