上一篇寫了關於nginx自動部署的腳本。知道啟動nginx的命令為 /usr/local/nginx/sbin/nginx
停止nginx的命令為 /usr/local/nginx/sbin/nginx -s stop
重啟nginx的命令為 /usr/local/nginx/sbin/nginx -s reload
可以看得出來,很麻煩,每次都要把nginx的啟動問文件的路徑寫出來。所以我們可以配置一個systemctl 命令來方便操作nginx的啟動、停止和重啟命令。
一、創建一個nginx.service
在 /usr/lib/systemd/system/目錄下面新建一個nginx.service文件。並賦予可執行的權限。
vim /usr/lib/systemd/system/nginx.service
chmod +x /usr/lib/systemd/system/nginx.service
二、編輯service內容
[Unit] //對服務的說明
Description=nginx - high performance web server //描述服務
After=network.target remote-fs.target nss-lookup.target //描述服務類別
[Service] //服務的一些具體運行參數的設置
Type=forking //后台運行的形式
PIDFile=/usr/local/nginx/logs/nginx.pid //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=/usr/local/nginx/sbin/nginx -s reload //重啟命令
ExecStop=/usr/local/nginx/sbin/nginx -s stop //停止命令
ExecQuit=/usr/local/nginx/sbin/nginx -s quit //快速停止
PrivateTmp=true //給服務分配臨時空間
三、啟動服務
[Install]
WantedBy=multi-user.target //服務用戶的模式
在啟動服務之前,需要先重載systemctl命令
systemctl daemon-reloadsystemctl start nginx.service
發現啟動還是出現了問題。用systemctl status nginx.service 來查看問題所在。

如圖 可以看出是端口 80 被占用了。 解決方案就是進入nginx.conf配置文件修改nginx的端口。
vim /usr/local/nginx/conf/nginx.conf
找到如圖的字段

把listen 后面的數字修改成8080或者81。再重新啟動服務,就提示成功了。