標籤:centos7 自訂啟動服務
Centos 系統服務指令碼目錄:
/usr/lib/systemd/
有系統(system)和使用者(user)之分,
如需要開機沒有登陸情況下就能啟動並執行程式,存在系統服務(system)裡,即:
/lib/systemd/system/
反之,使用者登入後才能啟動並執行程式,存在使用者(user)裡
服務以.service結尾。
這邊以nginx開機運行為例
1.建立服務檔案
[html] view plaincopyprint?650) this.width=650;" alt="在CODE上查看代碼片" height="12" src="https://code.csdn.net/assets/CODE_ico.png" width="12" style="padding:0px;margin:0px;border:none;" />650) this.width=650;" alt="派生到My Code片" height="12" src="https://code.csdn.net/assets/ico_fork.svg" width="12" style="padding:0px;margin:0px;border:none;" />
vim /lib/systemd/system/nginx.service
[plain] view plaincopyprint?650) this.width=650;" alt="在CODE上查看代碼片" height="12" src="https://code.csdn.net/assets/CODE_ico.png" width="12" style="padding:0px;margin:0px;border:none;" />650) this.width=650;" alt="派生到My Code片" height="12" src="https://code.csdn.net/assets/ico_fork.svg" width="12" style="padding:0px;margin:0px;border:none;" />
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/www/lanmps/init.d/nginx start
ExecReload=/www/lanmps/init.d/nginx restart
ExecStop=/www/lanmps/init.d/nginx stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[Unit]:服務的說明
Description:描述服務
After:描述服務類別
[Service]服務運行參數的設定
Type=forking是後台啟動並執行形式
ExecStart為服務的具體運行命令
ExecReload為重啟命令
ExecStop為停止命令
PrivateTmp=True表示給服務分配獨立的臨時空間
注意:[Service]的啟動、重啟、停止命令全部要求使用絕對路徑
[Install]服務安裝的相關設定,可設定為多使用者
2.儲存目錄
以754的許可權儲存在目錄:
[html] view plaincopyprint?650) this.width=650;" alt="在CODE上查看代碼片" height="12" src="https://code.csdn.net/assets/CODE_ico.png" width="12" style="padding:0px;margin:0px;border:none;" />650) this.width=650;" alt="派生到My Code片" height="12" src="https://code.csdn.net/assets/ico_fork.svg" width="12" style="padding:0px;margin:0px;border:none;" />
/lib/systemd/system
3.設定開機自啟動
[html] view plaincopyprint?650) this.width=650;" alt="在CODE上查看代碼片" height="12" src="https://code.csdn.net/assets/CODE_ico.png" width="12" style="padding:0px;margin:0px;border:none;" />650) this.width=650;" alt="派生到My Code片" height="12" src="https://code.csdn.net/assets/ico_fork.svg" width="12" style="padding:0px;margin:0px;border:none;" />
systemctl enable nginx.service
4.其他命令
任務 |
舊指令 |
新指令 |
使某服務自動啟動 |
chkconfig --level 3 httpd on |
systemctl enable httpd.service |
使某服務不自動啟動 |
chkconfig --level 3 httpd off |
systemctl disable httpd.service |
檢查服務狀態 |
service httpd status |
systemctl status httpd.service (服務詳細資料) systemctl is-active httpd.service (僅顯示是否 Active) |
顯示所有已啟動的服務 |
chkconfig --list |
systemctl list-units --type=service |
啟動某服務 |
service httpd start |
systemctl start httpd.service |
停止某服務 |
service httpd stop |
systemctl stop httpd.service |
重啟某服務 |
service httpd restart |
systemctl restart httpd.service |
啟動nginx服務
systemctl start nginx.service
設定開機自啟動
systemctl enable nginx.service
停止開機自啟動
systemctl disable nginx.service
查看服務目前狀態
systemctl status nginx.service
重新啟動服務
systemctl restart nginx.service
查看所有已啟動的服務
systemctl list-units --type=service
本文出自 “夢想照進現實” 部落格,請務必保留此出處http://lookingdream.blog.51cto.com/5177800/1846507
CentOS 7.x設定自訂開機啟動,添加自訂系統服務