Linux開機自啟動腳本和服務systemctl


在CentOS7中,systemctl命令主要負責控制systemd系統和服務管理器。基本取代了service和chkconfig命令,雖然service和chkconfig命令依然保留,但是據說已經被閹割過

centos7以后的開機自啟動自啟動都放在了/usr/lib/systemd/system這個目錄下,所有的自啟動腳本都要寫成service為結尾的腳本文件下邊演示 NGINX開機自啟動

編寫nginx.service腳本

[Unit]
Description=nginx service
After=network.target 
   
[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true 
   
[Install] 
WantedBy=multi-user.target

 

Description:描述服務
After:描述服務類別
[Service]服務運行參數的設置
Type=forking是后台運行的形式
ExecStart為服務的具體運行命令
ExecReload為重啟命令
ExecStop為停止命令
PrivateTmp=True表示給服務分配獨立的臨時空間
注意:[Service]的啟動、重啟、停止命令全部要求使用絕對路徑
[Install]運行級別下服務安裝的相關設置,可設置為多用戶,即系統運行級別為3

 

寫完啟動腳本后要執行systemctl enable nginx.service 開啟開機自啟動,如果你不想開機自啟動的話,可以使用systemctl disable nginx.service

systemctl --version,查看版本。
whereis systemctl,查看位置。
systemctl list-unit-files,列出所有可用單元(服務)。
systemctl list-units,列出所有運行中的單元。
systemctl --failed,列出所有失敗的單元。
systemctl list-unit-files | grep enable,查看自啟動的軟件。
systemctl is-enabled mysqld.service,查看某個單元是否開機啟動。
systemctl status mysqld.service,查看某個單元的狀態。
systemctl start mysqld.service,啟動某個單元。
systemctl restart mysqld.service,重啟某個單元。
systemctl stop mysqld.service,停止某個單元。
systemctl daemon-reload,修改了某個單元的配置文件后,重載配置文件。
systemctl reload mysqld.service,重載某個單元。
systemctl enable mysqld.service,設置開機自啟動。
systemctl disable mysqld.service,關閉開機自啟動。
systemctl kill mysqld,殺死單元。

 


免責聲明!

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



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