nginx日誌自動分割的完美實現

2021-06-20 08:09:26 字數 723 閱讀 1696

大家都知道,nginx ("engine x") 是乙個高效能的 http 和 反向** 伺服器,也是乙個 imap/pop3/smtp **伺服器,因它的穩定性、豐富的功能集、示例配置檔案和低系統資源的消耗而聞名。但是他的日誌系統實在是太欠了,所有的日誌都會輸出到乙個檔案中,隨著時間的過去,那個檔案變得越來越大,對我們分析日誌非常不方便。

網上目前出來的方式都是在 linux下寫指令碼來分割日誌,但是這種方式很不方便,尤其是對linux環境不熟悉的同學,寫這個很費勁,而且系統重啟之類的,這個指令碼要重新啟動,等等,總之很煩。

但是今天,我給大家帶來了完美的解決方案,那就是修改nginx源**,讓他支援日誌分割。

日誌配置方式請參考src資料夾中的nginx.conf來配置

1.4.1 配置檔案中新增了 date_udf (格式:yyyy-mm-dd) 變數

1.5.9 配置檔案中新增了 date_udf (格式:yyyy-mm-dd), year_udf (格式:yyyy), month_udf (格式:mm), day_udf (格式:dd)。

# access_log  logs/$year_udf/$month_udf/$day_udf/$date_udf-access.log  main; //別忘了把配置檔案中的 main 放開

上面的方式配置 到時候日誌會在 logs/yyyy/mm/dd/yyyy-mm-dd-access.log 檔案中。

好累啊,今天就先到這裡,如何修改的以後再更新吧

Nginx 日誌自動分割

nginx 的日誌都是寫在乙個檔案當中的,不會自動地進行切割,如果訪問量很大的話,將導致日誌檔案容量非常大,不便於管理和造成nginx 日誌寫入效率低下等問題。所以,往往需要要對access log error log日誌進行切割。切割日誌一般利用usr1訊號讓nginx產生新的日誌。例項 123 ...

Nginx 日誌自動分割指令碼

1 分割指令碼 cut nginx logs.sh bin bash cut nginx logs.sh author xingxiudong set the path to nginx log files log files path var log nginx set nginx log fil...

nginx日誌分割

以下這個指令碼實施的核心是 每天凌晨將日誌檔案壓縮並移動到相應的年份月份目錄下,然後重新生成日誌檔案,同時記錄日誌 bin bash logs path home wwwlog 日誌存放位置 year date y 年份 month date m 月份 day date y m d 日期 time ...