nginx日誌配置和輪轉

2022-07-22 11:30:16 字數 2650 閱讀 4821

一.access_log指令

語法: access_log path [format [buffer=size [flush=time]]];

access_log path format gzip[=level] [buffer=size] [flush=time];

access_log syslog:server=address[,parameter=value] [format];

access_log off;

預設值: access_log logs/access.log combined;

配置段: http, server, location, if in location, limit_except

gzip壓縮等級。

buffer設定記憶體快取區大小。

flush儲存在快取區中的最長時間。

不記錄日誌:access_log off;

使用預設combined格式記錄日誌:access_log logs/access.log 或 access_log logs/access.log combined;

二. log_format指令,設定日誌格式

語法: log_format name string …;

預設值: log_format combined 「…」;

配置段: http

三.open_log_file_cache指令

語法: open_log_file_cache max=n [inactive=time] [min_uses=n] [valid=time];

open_log_file_cache off;

預設值: open_log_file_cache off;

配置段: http, server, location

對於每一條日誌記錄,都將是先開啟檔案,再寫入日誌,然後關閉。可以使用open_log_file_cache來設定日誌檔案快取(預設是off),格式如下:

引數注釋如下:

max:設定快取中的最大檔案描述符數量,如果快取被佔滿,採用lru演算法將描述符關閉。

inactive:設定存活時間,預設是10s

min_uses:設定在inactive時間段內,日誌檔案最少使用多少次後,該日誌檔案描述符記入快取中,預設是1次

valid:設定檢查頻率,預設60s

off:禁用快取

四. log_not_found指令

語法: log_not_found on | off;

預設值: log_not_found on;

配置段: http, server, location

是否在error_log中記錄不存在的錯誤。預設是。

五.log_subrequest指令

語法: log_subrequest on | off;

預設值: log_subrequest off;

配置段: http, server, location

是否在access_log中記錄子請求的訪問日誌。預設不記錄。

六.rewrite_log指令

由ngx_http_rewrite_module模組提供的。用來記錄重寫日誌的。對於除錯重寫規則建議開啟。

語法: rewrite_log on | off;

預設值: rewrite_log off;

配置段: http, server, location, if

啟用時將在error log中記錄notice級別的重寫日誌。

七. error_log指令

語法: error_log file | stderr | syslog:server=address[,parameter=value] [debug | info | notice | warn | error | crit | alert | emerg];

預設值: error_log logs/error.log error;

配置段: main, http, server, location

配置錯誤日誌。

error_log 級別分為 debug, info, notice, warn, error, crit 預設為crit, 該級別在日誌名後邊定義格式如下

八,日誌關閉及其他

1.關閉日誌

error_log|access_log /dev/null;

2.如果在server段沒有設定日誌記錄方式,那麼將會逐步向上去尋找,如果找不到,則使用nginx預設的日誌記錄方式.

參考:九.日誌按日輪轉

在/etc/logrotate.d新建配置檔案

/輪轉日誌目錄/*.log

手動呼叫(是否輪轉取決於是否滿足條件):

logrotate /etc/logrotate.d/log-file

模擬呼叫(不會實際生效,只是模擬):

logrotate -d /etc/logrotate.d/log-file

強制輪**

logrotate -f /etc/logrotate.d/log-file

配置日誌輪轉

日誌記錄會隨著執行時間的增長不斷增加 日誌檔案所占用的空間也越來越大 利用logrotate 日誌輪轉機制。可以有效控制日誌規模 實現自動化運維 檢視 etc logrotate.conf的有效檔案 egrep v etc logrota.conf 一下需要說明如果沒有自定義輪轉 那麼就按照全域性的...

LINUX logrotate日誌輪轉

問題 1 針對 var log admin.log設定輪轉,要求如下 2 要求每天輪轉一次 保留3個備份 啟用壓縮 3 日誌不存在時忽略 4 當檔案大於100k也達到一天時自動輪轉 5 建立的新檔案許可權0600,所有者root,所屬組root 方案logrotate輪轉優點 減小日誌檔案大小,降低...

logrotate日誌輪轉

主要實現以下要求 每天輪轉一次 保留3個備份 啟用壓縮 日誌不存在時忽略 當檔案大於100k也達到一天時自動輪轉 建立的新檔案許可權0600,所有者root,所屬組root 可以寫在全域性配置檔案中也可以寫在自定義配置檔案中,推薦自定義配置檔案。命令操作如下所示 root svr5 cd etc l...