nginx日志模塊及日志定時切割的方法
一:作用
Ngx_http_log_module:定義日志格式,并且以指定的格式保存。
二:示例配置
log_format compression '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" "$gzip_ratio"';
access_log /spool/logs/nginx-access.log compression buffer=32k;
三:access_log
句法: access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];
access_log off;
默認(rèn): access_log logs / access.log合并;
語境: http,server,location,if in location,limit_except
1:[buffer=size]
設(shè)置緩沖日志寫入的路徑,格式和配置。
2:gzip[=level]
如果使用該 gzip 參數(shù),則在寫入文件之前,緩沖的數(shù)據(jù)將被壓縮。 壓縮級別可以設(shè)置在1(最快,較少壓縮)和9(最慢,最佳壓縮)之間。 默認(rèn)情況下,緩沖區(qū)大小等于64K字節(jié),壓縮級別設(shè)置為1.由于數(shù)據(jù)是以原子塊壓縮的,因此日志文件可以隨時解壓或由“ zcat ” 讀取 。
3:[flush=time]
保存在緩存區(qū)中的最長時間。
四:log_format
指定日志格式
log_format compression '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" "$gzip_ratio"';
1:remote_addr, $http_x_forwarded_for 記錄客戶端IP地址
2:remote_user 記錄客戶端用戶名稱
3:request 記錄請求的URL和HTTP協(xié)議
4:status 記錄請求狀態(tài)
5:body_bytes_sent 發(fā)送給客戶端的字節(jié)數(shù),不包括響應(yīng)頭的大小; 該變量與Apache模塊mod_log_config里的“%B”參數(shù)兼容。
6:bytes_sent 發(fā)送給客戶端的總字節(jié)數(shù)。
7:connection 連接的序列號。
8:connection_requests 當(dāng)前通過一個連接獲得的請求數(shù)量。
9:msec 日志寫入時間。單位為秒,精度是毫秒。
10:pipe 如果請求是通過HTTP流水線(pipelined)發(fā)送,pipe值為“p”,否則為“.”。
11:http_referer 記錄從哪個頁面鏈接訪問過來的
12:http_user_agent 記錄客戶端瀏覽器相關(guān)信息
13:request_length 請求的長度(包括請求行,請求頭和請求正文)。
14:request_time 請求處理時間,單位為秒,精度毫秒; 從讀入客戶端的第一個字節(jié)開始,直到把最后一個字符發(fā)送給客戶端后進(jìn)行日志寫入為止。
15:time_iso8601 ISO8601標(biāo)準(zhǔn)格式下的本地時間。
16:time_local 通用日志格式下的本地時間。
五:open_log_file_cache
句法: open_log_file_cache max=N [inactive=time] [min_uses=N] [valid=time];
open_log_file_cache off;
默認(rèn):
open_log_file_cache off;
語境: http,server,location
作用:定義一個緩存,用于存儲名稱中包含變量的常用日志的文件描述符。該指令具有以下參數(shù):
- max: 設(shè)置緩存中描述符的最大數(shù)量; 如果緩存變滿,則最近最少使用(LRU)描述符關(guān)閉
- inactive: 設(shè)置在此時間之后如果沒有訪問時緩存的描述符被關(guān)閉的時間; 默認(rèn)情況下為10秒
- min_uses: 在 inactive 參數(shù)定義的時間內(nèi)設(shè)置文件使用的最小數(shù)量,以使描述符在緩存中保持打開狀態(tài); 默認(rèn)情況下,1
- valid: 設(shè)置應(yīng)檢查文件是否仍然存在同名的時間; 默認(rèn)情況下為60秒
- off: 禁用緩存
用法示例:
open_log_file_cache max = 1000 inactive = 20s valid = 1m min_uses = 2
六:日志切割
1. 定義日志輪滾策略
# vim nginx-log-rotate
/data/weblogs/*.log {
nocompress
daily
copytruncate
create
notifempty
rotate 7
olddir /data/weblogs/old_log
missingok
dateext
postrotate
/bin/kill -HUP `cat /var/run/nginx.pid 2> /dev/null` 2> /dev/null || true
endscript
}
[warning]/data/weblogs/*.log使用通配符時,/data/weblogs/目錄下的所有匹配到的日志文件都將切割。如果要切割特定日志文件,就指定到該文件。[/warning]
2. 設(shè)置計(jì)劃任務(wù)
59 23 * * * root ( /usr/sbin/logrotate -f /PATH/TO/nginx-log-rotate)
這樣每天23點(diǎn)59分鐘執(zhí)行日志切割。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
WebApi部署多服務(wù)器配置Nginx負(fù)載均衡的教程
這篇文章主要介紹了WebApi部署多服務(wù)器配置Nginx負(fù)載均衡 ,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
Nginx服務(wù)器做負(fù)載均衡反向代理的超級攻略
這篇文章主要介紹了Nginx服務(wù)器做負(fù)載均衡反向代理的超級攻略,包括緩存的相關(guān)設(shè)定以及負(fù)載均衡的一些常見問題的解決,極力推薦!需要的朋友可以參考下2015-08-08
Nginx前端頁面刷新后出現(xiàn)404的原因與解決方案
這篇文章主要來為大家詳細(xì)介紹一下Nginx前端頁面刷新后出現(xiàn)404 Not Found的原因與對應(yīng)的解決方案,有需要的小伙伴可以根據(jù)情況參考一下2025-03-03
zabbix自定義監(jiān)控nginx狀態(tài)實(shí)現(xiàn)過程
這篇文章主要為大家介紹了zabbix如何自定義監(jiān)控nginx狀態(tài)的實(shí)現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10
詳解Nginx中的geo模塊與利用其配置負(fù)載均衡的示例
這篇文章主要介紹了詳解Nginx中的geo模塊與利用其配置負(fù)載均衡的示例,文中對模塊的geo指令使用有比較詳細(xì)的介紹,需要的朋友可以參考下2016-01-01
PHP開發(fā)框架kohana3.3.1在nginx下的偽靜態(tài)設(shè)置例子
這篇文章主要介紹了PHP開發(fā)框架kohana3.3.1在nginx下的偽靜態(tài)設(shè)置例子,kohana曾經(jīng)是codeigniter框架的衍生版,后來發(fā)展成另一個獨(dú)立的PHP5開發(fā)框架,需要的朋友可以參考下2014-07-07
nginx使用nginx-rtmp-module模塊實(shí)現(xiàn)直播間功能
做的過程出現(xiàn)很多問題,環(huán)境其實(shí)就需要nginx就可以,然后就是在播放的問題,m3u8的格式,mac直接訪問就支持,蘋果系統(tǒng)原生H5支持m3u8,還有就是手機(jī)直接訪問也支持!但是其他其他系統(tǒng)PC端不支持,嘗試了好多都不行,最后終于找到了一個支持m3u8格式H5播放2017-10-10
Linux查看nginx安裝目錄和配置文件路徑的實(shí)現(xiàn)
本文主要介紹了Linux查看nginx安裝目錄和配置文件路徑的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01

