nginx日志

来源:互联网 发布:mac怎么更改用户名称 编辑:程序博客网 时间:2024/05/16 13:40

日志分类

访问日志和错误日志。日志开关在nginx配置文件(/etc/nginx/nginx.conf)中设置,两种日志都可以配置关闭,默认是开启状态。

访问日志

访问日志用于记录客户端访问nginx的每一个请求,格式可以自定义。访问日志指令:

log_format

log_format用来设置日志格式:
log_format name(格式名称) type(格式样式)
举例说明如下:

# 格式设置log_format customLog '$remote_addr - $remote_user - [$time_local] '                       '"$request" $status $bytes_sent - '                       '"$http_referer";#使用指定格式记录日志access_log /path/logs/access.log customLog;

以上是默认指定的格式样式。
其中,各个字段的含义如下:

1.$remote_addr 与$http_x_forwarded_for 用以记录客户端的ip地址2.$remote_user :用来记录客户端用户名称;3.$time_local : 用来记录访问时间与时区;4.$request : 用来记录请求的url与http协议;5.$status : 用来记录请求状态;成功是200,6.$body_bytes_s ent :记录发送给客户端文件主体内容大小;7.$http_referer :用来记录从那个页面链接访问过来的;8.$http_user_agent :记录客户端浏览器的相关信息;

需要注意的是:log_format配置必须放在http内。

access_log

access_log指令用来指定日志文件的存放路径(包含日志文件名)、格式和缓存大小,具体如下:
access_log path [format [buffer=size | off]]
如:

access_log logs/access.log main;

关闭日志:

access_log off;

错误日志

错误日志主要记录客户端访问nginx出错时的日志,格式不支持自定义。
error_log path level
level日志等级选项:
[ debug | info | notice | warn | error | crit ]
debug最详细 crit最少。
如:

error_log logs/error.log info;

注意error_log off并不能关闭错误日志,它将错误日志记录到一个文件名为off的文件中。
如果想关闭错误日志:

error_log /dev/null;

日志管理

nginx支持自动切割并压缩日志,日志文件名如下:
access.log
access.log.1
access.log.2.gz
access.log.3.gz
error.log
error.log.1
error.log.2.gz
error.log.3.gz
默认是每天都会产生一个.gz文件。