nginx: [error] CreateFile() “D:\nginx-1.20.1/logs/nginx.pid“ failed (2: The system cannot find the


nginx: [error] CreateFile() “D:\nginx-1.20.1/logs/nginx.pid“ failed (2: The system cannot find the

 

下載解壓完nginx后,雙擊nginx.exe后訪問http://127.0.0.1/,能夠出現歡迎界面

但是在命令行關閉nginx服務時(nginx -s quit),報錯nginx: [error] CreateFile() “D:\nginx-1.20.1/logs/nginx.pid” failed

根據報錯信息來看,在nginx安裝目錄下的logs文件中找不到nginx.pid文件,去對應文件查看,發現確實沒有該文件

 

 

解決辦法:
在任務管理器強制關閉nginx進程,

 

 


然后再在命令行中重新用start nginx命令啟動,

 

 


現在發現在nginx安裝目錄下的logs文件中出現了nginx.pid文件,

 

 

再用命令nginx -s quit正常關閉nginx進程,

 

 


此時無法訪問http://127.0.0.1/,成功關閉nginx

原因分析:
nginx在啟動或重啟時要殺掉之前的nginx進程,就需要通過nginx.pid來找到原來的進程,而nginx.pid存儲的就是原來的進程id。沒有進程id系統就無法找到原來的nginx進程,自然就無法關閉了

之后測試無論是雙擊nginx.exe還是cmd命令啟動nginx,都會自動在logs文件下配置nginx.pid文件,均可正常關閉。不懂為啥第一次就不行呢?
 


免責聲明!

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



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