1. 程式人生 > >CentOS 7設定開機啟動服務,新增自定義系統服務

CentOS 7設定開機啟動服務,新增自定義系統服務

CentOS 7設定開機啟動服務

  • 建立服務檔案
  • 儲存目錄
  • 設定開機自啟動
  • 其他命令

1.建立服務檔案

檔案路徑

vim /usr/lib/systemd/system/nginx.service 

服務檔案內容

1.nginx.service

[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s stop [Install] WantedBy=multi-user.target

2.mysql.service

[Unit]
Description=mysql
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/mysql/support-files/mysql.server start
#ExecReload=/usr/local/mysql/support-files/mysql.server restart
#ExecStop=/usr/local/mysql/support-files/mysql.server stop #PrivateTmp=true [Install] WantedBy=multi-user.target

3.php-fpm.service

[Unit]
Description=php
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/php/sbin/php-fpm

[Install]
WantedBy=multi-user.target

4.redis.service

[Unit]
Description=Redis
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
ExecStop=kill -INT `cat /tmp/redis.pid`
User=www
Group=www

[Install]
WantedBy=multi-user.target

5.supervisord.service

[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service

[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

檔案內容解釋

[Unit]:服務的說明
Description:描述服務
After:描述服務類別
[Service]服務執行引數的設定
Type=forking是後臺執行的形式
ExecStart為服務的具體執行命令
ExecReload為重啟命令
ExecStop為停止命令
PrivateTmp=True表示給服務分配獨立的臨時空間
注意:啟動、重啟、停止命令全部要求使用絕對路徑
[Install]服務安裝的相關設定,可設定為多使用者

2.儲存目錄

以754的許可權儲存在目錄:

/usr/lib/systemd/system 

3.設定開機自啟動

任意目錄下執行

systemctl enable nginx.service 

4.其他命令

啟動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