天天看點

CentOS7 添加開機啟動服務

檔案存放位置

/usr/lib/systemd/system/xxx.service

[Unit]          ===>     服務的說明
    Description:描述服務
    After:描述服務類别
[Service]       ===>     服務運作參數的設定
    Type=forking:是背景運作的形式
    ExecStart:為服務的具體運作指令
    ExecReload:為重新開機指令
    ExecStop:為停止指令
    PrivateTmp=True:表示給服務配置設定獨立的臨時空間
    注意:[Service]的啟動、重新開機、停止指令全部要求使用絕對路徑
[Install]       ===> 服務安裝的相關設定,可設定為多使用者
           

示例一(nexus systemd)

[Unit]
Description=Nexus Server3.3.1 For Linux
After=network.target

[Service]
Type=forking
ExecStart=/data/nexus-3.3.1-01/bin/nexus start
ExecReload=/data/nexus-3.3.1-01/bin/nexus restart
ExecStop=/data/nexus-3.3.1-01/bin/nexus stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
           

示例二(weblogic systemd)

[Install]
WantedBy=default.target

[Unit]
Description=WebLogic Adminserver service
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/oracle/weblogic/user_projects/domains/base_domain
ExecStart=/opt/oracle/weblogic/user_projects/domains/base_domain/bin/startWebLogic.sh
ExecStop=/opt/oracle/weblogic/user_projects/domains/base_domain/bin/stopWebLogic.sh

[Install]
WantedBy=multi-user.target
           

示例三

[Unit]
Description=Node Exporter
After=network.target

[Service]
Restart=on-failure
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target           

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true

[Install]
WantedBy=multi-user.target           

繼續閱讀