
我刪除了/var/log/nginx/error.log文件,然後使用以下命令建立新文件:
sudo nano error.log
這樣做ls -la
表明錯誤日誌和訪問日誌具有相同的權限。
當我嘗試啟動 nginx 時,出現錯誤:
警報:無法開啟錯誤日誌檔:open()“/var/log/nginx/error.log”權限被拒絕失敗。
更新
當嘗試啟動 nginx 時,我還看到:
emerg:/var/run/nginx.pid 失敗 13:權限被拒絕。
答案1
這並不能解決你的問題,但將來如果你解決了
cat /dev/null > /file/you/want/to/wipe-out
您將不加任何內容地複製該文件的內容,並保持所有權限不變。
不是 nginx 特定的,但此外,請確保您以應用程式應運行的使用者身分執行該應用程式。如果您以 root 身分執行它,則所有權限都將由 root 擁有,因此其他使用者將無法運行它。
答案2
使用 NginX 輪換日誌的常用方法是重命名文件,然後將/etc/init.d/nginx reload
.伺服器啟動一個新文件,您可以對舊文件執行您想要的操作。
您可能還會發現編輯配置以不記錄太多內容很有用...
答案3
查看 nginx 配置,檢查伺服器運行的身份 - 猜測使用者將是 nginx
所以 :
chown nginx: /var/run/nginx.pid
chown -R nginx: /var/log/nginx
應該做到這一點。
答案4
刪除 error.log 文件,nginx 會自行建立它。