ngx_http_log_module:定義日誌格式,並且以指定的格式儲存。
句法: access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];
access_log off;
預設: access_log logs / access.log合併;
語境: http,server,location,if in location,limit_except
1:[buffer=size]
設定緩衝日誌寫入的路徑,格式和配置。
2:gzip[=level]
如果使用該gzip
引數,則在寫入檔案之前,緩衝的資料將被壓縮。壓縮級別可以設定在1(最快,較少壓縮)和9(最慢,最佳壓縮)之間。預設情況下,緩衝區大小等於64k位元組,壓縮級別設定為1.由於資料是以原子塊壓縮的,因此日誌檔案可以隨時解壓或由「zcat
」 讀取。
3:[flush=time]
儲存在快取區中的最長時間。
指定日誌格式
';2:remote_user 記錄客戶端使用者名稱
3:request 記錄請求的url和http協議
4:status 記錄請求狀態
5:body_bytes_sent 傳送給客戶端的位元組數,不包括響應頭的大小; 該變數與apache模組mod_log_config裡的「%b」引數相容。
6:bytes_sent 傳送給客戶端的總位元組數。
7:connection 連線的序列號。
8:connection_requests 當前通過乙個連線獲得的請求數量。
9:msec 日誌寫入時間。單位為秒,精度是毫秒。
10:pipe 如果請求是通過http流水線(pipelined)傳送,pipe值為「p」,否則為「.」。
11:http_referer 記錄從哪個頁面鏈結訪問過來的
12:http_user_agent 記錄客戶端瀏覽器相關資訊
13:request_length 請求的長度(包括請求行,請求頭和請求正文)。
14:request_time 請求處理時間,單位為秒,精度毫秒; 從讀入客戶端的第乙個位元組開始,直到把最後乙個字元傳送給客戶端後進行日誌寫入為止。
15:time_iso8601 iso8601標準格式下的本地時間。
16:time_local 通用日誌格式下的本地時間。
句法: 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
作用:定義乙個快取,用於儲存名稱中包含變數的常用日誌的檔案描述符。該指令具有以下引數:
max:
設定快取中描述符的最大數量; 如果快取變滿,則最近最少使用(lru)描述符關閉inactive:
設定在此時間之後如果沒有訪問時快取的描述符被關閉的時間; 預設情況下為10秒min_uses:
在inactive
引數定義的時間內設定檔案使用的最小數量,以使描述符在快取中保持開啟狀態; 預設情況下,1valid:
設定應檢查檔案是否仍然存在同名的時間; 預設情況下為60秒off:
禁用快取
用法示例:
1. 定義日誌輪滾策略# vim nginx-log-rotateopen_log_file_cache max = 1000 inactive = 20s valid = 1m min_uses = 2
/data/weblogs/*.log[warning]/data/weblogs/*.log使用萬用字元時,/data/weblogs/目錄下的所有匹配到的日誌檔案都將切割。如果要切割特定日誌檔案,就指定到該檔案。[/warning]
2. 設定計畫任務
59 23 * * * root ( /usr/sbin/logrotate -f /path/to/nginx-log-rotate)這樣每天23點59分鐘執行日誌切割。
nginx定時備份日誌
思路 用shell指令碼加linux定時任務來備份日誌 首先在進入nginx目錄 cd usr local nginx 建立乙個logdata目錄以後的指令碼和備份的日誌都放在這裡 mkdir logdata進入logdata目錄編輯建立建立乙個runlog.shshell指令碼 cd logdat...
Nginx日誌定時清理
有一天忽然發現公司公網應用登入頁無法載入了,趕緊登入伺服器上排查,df h之後發現磁碟占用達100 經排查發現nginx日誌檔案為28g。直接rm rf 28g access.log,然而應用依然沒有反應,後想到應該是只刪除了日誌檔案,但是並沒有釋放空間,nginx s reload了一下,果然磁碟...
nginx 日誌切割定時
1.安裝定時任務 yum install crontabs 1 usr local nginx sbin cut my log.sh 3.重啟定時任務 service crond restart 附 常用定時任務命令 service crond start 啟動服務 service crond st...