nginx reload無效解決方法


方案1:

nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)

找到你的nginx.conf的文件夾目錄

然后運行命令

nginx -c /usr/local/etc/nginx/nginx.conf

再運行 

nginx -s reload

重啟nginx就可以了

 

 

 

 

----------------------------------------------------------------------------------------------------------------------------

方案2:

一、 問題出現

更改nginx配置文件后進行語法檢測

 sudo nginx -t

結果正確, 進行nginx重啟

sudo nginx -s reload

沒有報錯,但發現重啟后新的配置沒有生效

nginx依然指向舊的路徑

查看nginx服務狀態

sudo service nginx status
或
sudo systemctl status nginx

發現出現如下錯誤

nginx.service: Failed to read PID from file /run/nginx.pid: Invalid argument

 

 

 

錯誤原因

經過查詢后發現,這個錯誤是因為nginx和系統之間的競爭引起的。

nginx.pid 文件是在nginx啟動時創建的文件,在關閉nginx服務后會消失。

系統在nginx創建該文件前就想要訪問這個文件,導致了這個錯誤的產生。

二、 解決方案

1.創建nginx.service.d目錄

在/etc/systemd/system/目錄下創建nginx.service.d文件夾

mkdir /etc/systemd/system/nginx.service.d

2.打印數據到文件

執行下面的命令

printf "[Service]\nExecStartPost=/bin/sleep 0.1\n" > /etc/systemd/system/nginx.service.d/override.conf

3.重新加載daemon服務

systemctl daemon-reload

這將重新運行所有生成器,重新加載所有單元文件並重新創建整個systemd依賴關系樹。

4.重啟nginx服務

systemctl restart nginx

5.測試

重新測試之前修改過的配置文件是否生效

發現問題已解決

 

原文地址:https://www.jianshu.com/p/64fba261005d

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM