添加系統服務
在 /usr/lib/systemd/system
目錄中添加 nginx.service
,根據實際情況進行修改,詳細解析可查看下方參考資料中的文章。內容如下
[Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
輸入 systemctl start nginx
啟動
添加到開機啟動: 輸入 systemctl start nginx
啟動
查看 此狀態 輸入 systemctl status nginx.service
[Unit]:服務的說明 Description:描述服務 After:依賴,當依賴的服務啟動之后再啟動自定義的服務 [Service]服務運行參數的設置 Type=forking是后台運行的形式 ExecStart為服務的具體運行命令 ExecReload為重啟命令 ExecStop為停止命令 PrivateTmp=True表示給服務分配獨立的臨時空間 注意:啟動、重啟、停止命令全部要求使用絕對路徑 [Install]服務安裝的相關設置,可設置為多用戶
Type
-
Type=simple(默認值):systemd認為該服務將立即啟動。服務進程不會fork。如果該服務要啟動其他服務,不要使用此類型啟動,除非該服務是socket激活型。
-
Type=forking:systemd認為當該服務進程fork,且父進程退出后服務啟動成功。對於常規的守護進程(daemon),除非你確定此啟動方式無法滿足需求,使用此類型啟動即可。使用此啟動類型應同時指定 PIDFile=,以便systemd能夠跟蹤服務的主進程。
-
Type=oneshot:這一選項適用於只執行一項任務、隨后立即退出的服務。可能需要同時設置 RemainAfterExit=yes使得systemd在服務進程退出之后仍然認為服務處於激活狀態
-
Type=notify:與 Type=simple相同,但約定服務會在就緒后向systemd發送一個信號。這一通知的實現由 libsystemd-daemon.so提供。
-
Type=dbus:若以此方式啟動,當指定的 BusName 出現在DBus系統總線上時,systemd認為服務就緒。