1 说明
设置开机自启动,需要用到systemctl工具。
systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。
systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。
在Linux生态系统中,Systemd被部署到了大多数的标准Linux发行版中,只有为数不多的几个发行版尚未部署。
2 准备
os:redhat7.0
systemctl --version : systemd 208
weblogic version:12
3 编写系统服务文件
3.1 adminserver 系统服务文件
# vi /etc/systemd/system/wls_adminserver.service
----------------------------------------------------
[Unit]
Description=WebLogic Adminserver Service
[Service]
Type=simple
WorkingDirectory=/wl_domains_path/base_domain
ExecStart=/wl_domains_path/base_domain/bin/startWebLogic.sh
ExecStop=/wl_domains_path/base_domain/bin/stopWebLogic.sh
User=weblogic
Group=weblogic
[Install]
WantedBy=multi-user.target
3.2 nodemanager 系统服务文件
Node Manager unit文件,需要根据实际情况编写。如果不确定是否需要,那就不要编写此文件。
# vi /etc/systemd/system/wls_nodemanager.service
------------------------------------------------------
[Unit]
Description=WebLogic NodeManager Service
[Service]
Type=simple
WorkingDirectory=/wl_domains_path/base_domain
ExecStart=/wl_domains_path/bin/startNodeManager.sh
ExecStop=/wl_domains_path/bin/stopNodeManager.sh
User=weblogic
Group=weblogic
[Install]
WantedBy=multi-user.target
3.3 查看系统服务文件是否被识别
# systemctl list-unit-files|grep wls
--------------------------
wls_adminserver.service disabled
wls_nodemanager.service disabled
至此,unit文件编写完成。
4 测试系统服务
4.1 启动系统服务
# systemctl start wls_adminserver.service
4.2 停止系统服务
# systemctl stop wls_adminserver.service
4.3 查看系统服务是否成功启动
# systemctl status wls_adminserver.service -l
4.4 可能碰到的203错误
ExecStart给出的启动脚本路径不对,会提示203错误。(改对就好了。)
系统服务文件中未指定脚本解析器,会提示203错误。(在文件开头添加:#!/bin/sh)
5 将服务设置成开机自启动
# systemctl enable wls_adminserver.service
# systemctl enable wls_nodemanager.service
# systemctl list-unit-files|grep wls
--------------------------
wls_adminserver.service enabled
wls_nodemanager.service enabled
反向命令:
# systemctl disable wls_adminserver.service
# systemctl disable wls_nodemanager.service
# systemctl list-unit-files|grep wls
--------------------------
wls_adminserver.service disabled
wls_nodemanager.service disabled
6 查看服务的控制台日志
相当于tail -f。
# journalctl -flu wls_adminserver.service