1、日志介绍
nginx有两种日志,一种是访问日志,一种是错误日志。
访问日志中记录的是客户端对服务器的所有请求。
错误日志中记录的是在访问过程中,因为某些原因发生的错误信息。
2、访问日志和错误日志
(1)错误日志
error_log path level
错误日志的格式是没有办法定义的。需要写清楚错误日志的存放路径,相对路径或者绝对路径都可以。
第二个参数是日志的级别。一般的级别有debug|info|notice|warm|error|crit|alert|emerg。一般就配置为error。
一般就是在main,http,server,location;模块中配置。
在启动nginx的时候,日志的目录路径是不会自动创建,需要创建好所有的目录,这样nginx才能够成功启动,否则会报找不到目录路径,而日志文件本身是nginx自动创建。
当访问网页报500错误的时候,就可以在这个日志下找找原因,是不是哪个文件没有权限,或者丢失等等。
所以在测试环境或者生产环境配置这个文件都是非常有必要的。
(2)访问日志
log_format name format
上边是配置访问日志的格式,这个的作用就是配置在实际中需要统计的字段,并不是一定将所有的字段都要统计出来。
name字段自己定义即可,mainlog、mylog,都可以,但是多个name不能重复。
format就是日志的格式,只要将自己需要的字段写上即可。
下边是字段的类型,选择需要的填写即可。
参数 | 说明 |
$remote_addr | 客户端地址 |
$remote_user | 客户端用户名称 |
$time_local | 访问时间和时区 |
$request | 请求的URI和HTTP协议 |
$http_host | 请求地址 |
$status | HTTP请求状态 |
$upstream_status | upstream状态 |
$body_bytes_sent | 发送给客户端文件内容大小 |
$http_referer | url跳转来源 |
$http_user_agent | 浏览器的信息 |
$ssl_protocol | SSL协议版本 |
$ssl_cipher | 交换数据中的算法 |
$upstream_addr | 后台upstream的地址,即真正提供服务的主机地址 |
$request_time | 整个请求的总时间 |
$upstream_response_time | 请求过程中,upstream响应时间 |
示例:
格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
某一条访问
192.168.0.137 - - [02/Apr/2019:11:52:46 +0800] "GET /admin/index.php?act=common&op=pending_matters HTTP/1.1" 200 401 "http://192.168.0.133/admin/index.php" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36" "-"
access_log path format [buffer=sieze]
访问日志也不是一定需要开的。根据自己的实际情况配置。
path就是路径,写相对路径或者绝对路径皆可。
format是上边配置的访问日志的格式,只需要将format的name写上即可。
buffer写不写都行。如果需要配置写buffer=16k即可。
在启动nginx的时候,日志的目录路径是不会自动创建,需要创建好所有的目录,这样nginx才能够成功启动,否则会报找不到目录路径,而日志文件本身是nginx自动创建。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。