使用systemctl管理指定服務需要做的配置


前戲

Centos 7服務的systemctl腳本存放在:/usr/lib/systemd,其中有系統服務(system)和用戶(user)之分
我們一般把需要systemctl管理的服務放到/usr/lib/systemd/目錄下
而且,每一個服務以通常.service結尾,並且該腳本一般分為三個部分:Unit、Service、Install

配置systemctl管理服務的腳本如下

[Unit]		#對服務的說明部分
Description=xxx
After=network.target #描述服務類別,表示本服務需要在network服務啟動后在啟動
Before=xxx.service   # 表示需要在某些服務啟動之前啟動,After和Before字段只涉及啟動順序,不涉及依賴關系。
[Service]	#核心部分
Type=forking	 #后台運行模式
User=user        #設置服務運行的用戶
Group=user       #設置服務運行的用戶組
PIDFile=/usr/local/xxx    #存放PID的絕對路徑
KillMode=control-group    #定義systemd如何停止服務
ExecStart=/usr/local/bin/forever start /node.js/xiyoulib/bin/www
ExecReload=/usr/local/bin/forever restart /node.js/xiyoulib/bin/www
ExecStop=/usr/local/bin/forever stop /node.js/xiyoulib/bin/www
Restart=no        #定義服務進程退出后,systemd的重啟方式,默認是不重啟
PrivateTmp=true   #表示給服務分配獨立的臨時空間
[Install]	#服務的相關部分
WantedBy=multi-user.target	#多用戶

注意該腳本配置好之后,需要授予755的權限保存在/usr/lib/systemd目錄下,然后我們就可以使用systemctl管理指定的服務了

systemctl相關命令

#查看當前的運行級別
systemctl get-default 
#設置默認的運行級別
systemctl set-default multi-user.target
#切換運行級別(不需要重啟)
systemctl isolate multi-user.target
systemctl isolate graphical.target
#systemctl管理服務
systemctl start xxx
systemctl stop xxx
systemctl restart xxx
systemctl reload xxx
systemctl enable xxx
systemctl disable xxx

#systemctl配置開機自啟動原理
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM