Nginx

刪除 NGINX 日誌後如何重新啟動日誌記錄?

  • July 5, 2015

我刪除了我的 NGINX 日誌,因為它非常大,我認為 NGINX 會自動創建一個新日誌來代替它。它沒有,現在我沒有日誌。該文件以前位於/opt/nginx/logs/error.log. 我嘗試在同一位置創建具有相同權限的新文件,但似乎沒有幫助。我在 ubuntu 12.10 伺服器上執行 nginx/1.4.7。

如何恢復我的日誌記錄?

我試過sudo service nginx restart了,它說nginx: unrecognized service。我認為這可能是因為我正在使用 NGINX 和 Phusion Passenger 來為 Rails 應用程序提供服務,而 Passenger 已經改變了一些東西。例如,NGINX 存在於/opt/nginx而不是init.d.

乘客的一位作者在 stackoverflow 上正確回答了這個問題。這是他的答案的副本。


重新啟動 Nginx實際上會使日誌文件返回*。*只是您沒有使用正確的方法重新啟動 Nginx,因為您的 Nginx 安裝是從原始碼安裝的。

預設 Nginx 原始碼不提供初始化腳本,例如/etc/init.d/nginx和。service nginx restart初始化腳本實際上是作業系統的 Nginx 包提供的擴展。如果您從原始碼安裝 Nginx,那麼您將無法再使用 init 腳本來控制 Nginx。相反,您將使用更通用的作業系統原語來控制 Nginx,例如 PID 文件和信號。在乘客文件中了解更多資訊

重新啟動 Nginx 是通過向它發送信號並通過 Nginx 命令再次啟動它來完成的。例如:

sudo kill $(cat /opt/nginx/logs/nginx.pid)
sudo /opt/nginx/sbin/nginx

要了解有關重新啟動從原始碼安裝的 Nginx 的更多資訊,請閱讀乘客文件的這一部分

引用自:https://serverfault.com/questions/703477