一唧取、 問題出現(xiàn)
更改nginx配置文件后進(jìn)行語(yǔ)法檢測(cè)
sudo nginx -t
結(jié)果正確街图, 進(jìn)行nginx重啟
sudo nginx -s reload
沒有報(bào)錯(cuò)闻丑,但發(fā)現(xiàn)重啟后新的配置沒有生效
nginx依然指向舊的路徑
查看nginx服務(wù)狀態(tài)
sudo service nginx status
或
sudo systemctl status nginx
發(fā)現(xiàn)出現(xiàn)如下錯(cuò)誤
nginx.service: Failed to read PID from file /run/nginx.pid: Invalid argument
image
錯(cuò)誤原因
經(jīng)過查詢后發(fā)現(xiàn),這個(gè)錯(cuò)誤是因?yàn)閚ginx和系統(tǒng)之間的競(jìng)爭(zhēng)引起的众羡。
nginx.pid 文件是在nginx啟動(dòng)時(shí)創(chuàng)建的文件侨赡,在關(guān)閉nginx服務(wù)后會(huì)消失。
系統(tǒng)在nginx創(chuàng)建該文件前就想要訪問這個(gè)文件粱侣,導(dǎo)致了這個(gè)錯(cuò)誤的產(chǎn)生羊壹。
二、 解決方案
- 創(chuàng)建nginx.service.d目錄
在/etc/systemd/system/目錄下創(chuàng)建nginx.service.d文件夾
mkdir /etc/systemd/system/nginx.service.d
- 打印數(shù)據(jù)到文件
執(zhí)行下面的命令
printf "[Service]\nExecStartPost=/bin/sleep 0.1\n" > /etc/systemd/system/nginx.service.d/override.conf
- 重新加載daemon服務(wù)
systemctl daemon-reload
這將重新運(yùn)行所有生成器齐婴,重新加載所有單元文件并重新創(chuàng)建整個(gè)systemd依賴關(guān)系樹舶掖。
- 重啟nginx服務(wù)
systemctl restart nginx
- 測(cè)試
重新測(cè)試之前修改過的配置文件是否生效
發(fā)現(xiàn)問題已解決