一般範例:
自訂義mongodb服務
vim /usr/lib/systemd/system/mongodb.service
[Unit]
Description=xiyoulibapi
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/node.js/pid
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
PrivateTmp=true
[Install]
WantedBy=multi-user.target
開機服務管理
CentOS 7的服務systemctl腳本存放在:/usr/lib/systemd/,有系統(system)和用戶(user)之分,
/usr/lib/systemd/system/
/usr/lib/systemd/user/
像需要開機不登陸就能運行的程序,存在系統服務,即:/usr/lib/systemd/system/ 目錄下
每一個服務以.service結尾,一般會分為3部分:[Unit]、[Service]、[Install]
[Unit]
主要是對這個服務的說明,內容包括Description和After,Description用於描述服務,After用於描述服務類別
[Service]
是服務的關鍵,是服務的一些具體運行參數的設置,
Type=forking是後台運行的形式,
PIDFile為存放PID的文件路徑,
ExecStart為服務的具體運行命令,
ExecReload為重啟命令,
ExecStop為停止命令,
PrivateTmp=True表示給服務分配獨立的臨時空間
注意:[Service]部分的啟動、重啟、停止命令全部要求使用絕對路徑,使用相對路徑則會報錯!
[Install]
是服務安裝的相關設置,可設置為多用戶的
服務腳本按照上面編寫完成後,以754的權限保存在/usr/lib/systemd/system/目錄下,這時就可以利用systemctl進行配置
chmod 754 名稱.service
systemctl 配置命令
systemctl status mongodb.service // 查看mongodb啟動狀態
systemctl start mongodb.service // 啟動 mongodb
systemctl stop mongodb.service // 關閉 mongodb
systemctl enable mongodb.service // 開機啟動 mongodb 服務
systemctl disable mongodb.service // 開機關閉 mongodb 服務
官方文檔
https://wiki.archlinux.org/index.php/Systemd_(%E6%AD%A3%E9%AB%94%E4%B8%AD%E6%96%87)