centos7使用systemctl
替代原來/etc/init.d
,按官方的說法是提升系統服務的運行效率、服務配置更加簡單易用,對於一些自定義的服務來配置開機自啓動,是真的香!centos
/lib/systemd/system
目錄下參數太多,下面只列出幾個經常使用的關鍵參數,其它根據須要自行百度:
經常使用Type的幾種類型:bash
Type=simple | 默認值,表示 ExecStart= 所設定的進程就是該服務的主進程。 |
---|---|
Type=forking | 後臺運行的形式。以 fork 方式從父進程建立子進程,建立後父進程會當即退出,配合PIDFile=使用,以幫助 systemd 準肯定位該服務的主進程。 |
Type=notify | 與simple相似,但約定服務會在就緒後向systemd發送一個信號,須要配合NotifyAccess來讓Systemd接收消息。 |
注意:全部命令要求使用絕對路徑,使用相對路徑會報錯。工具
/etc/systemd/system
目錄下面以 Target 名 + .wants
後綴構成的子目錄中## cat /lib/systemd/system/uwsgi.service [Unit] Description=uWSGI Emperor After=syslog.target [Service] #PIDFile=/run/uwsgi.pid ExecStart=/usr/local/bin/uwsgi --ini /home/dengzhixu/crawl_data/uwsgi.ini Restart=always KillSignal=SIGQUIT Type=notify #Type=forking StandardError=syslog NotifyAccess=all [Install] WantedBy=multi-user.target
chmod +x /lib/systemd/system/uwsgi.service
## 啓動服務 systemctl start uwsgi.service ## 中止服務 systemctl stop uwsgi.service ## 重啓服務 service uwsgi restart systemctl restart uwsgi.service ## 服務自啓動 systemctl enable uwsgi.service ## 服務關閉自動啓動 systemctl disable uwsgi.service ## 檢查服務狀態 systemctl status uwsgi.service ## 顯示全部已啓動的服務 systemctl list-units --type=service
其它須要配置的服務,可自行參考畫葫蘆。
----by 鋼鐵 648403020@qq.com 09.10.2020centos7