背景
修改nginx配置文件nginx.conf后,想要重啟nginx使配置生效。cmd進入nginx安裝目錄,輸入命令: nginx -s reload
報錯:nginx: [error] CreateFile() "D:\nginx-1.20.1/logs/nginx.pid" failed (2: The system cannot find the file specified)
原因分析
- 問題的直接原因就是在nginx的安裝目錄下的logs目錄里面沒有nginx.pid這個文件,一般情況下nginx啟動時會自動創建nginx.pid文件的
- nginx啟動或者重啟需要殺掉原來的nginx進程,需要根據nginx.pid找到原來的進程,其中pid其實就是原來的進程ID了
- 出現這種情況的原因可能是nginx未啟動或者nginx.pid被手動刪除掉,有時候在windows系統通過雙擊方式啟動nginx會有無法在logs目錄下自動生成nginx.pid文件的情況
- 在沒有啟動nginx的情況下(以及你不清楚有沒有啟動),不要使用nginx -s reload命令來作為啟動命令,可以避免這個報錯發生
解決方法
1.任務管理器里面找到原來的nginx進程(如果有的話)並關掉,然后使用cmd命令的方式啟動nginx 2.cmd 進入 nginx安裝目錄 3.輸入命令 start nginx 或者 nginx.exe 啟動nginx 4.去nginx目錄下logs目錄下看看有沒有nginx.pid的文件;如果沒有重復123操作 5.如果nginx.pid已經生成,再去修改配置文件后就可以正常重啟了 6.nginx -s reload
