您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
nginx-nginx日志管理
发布时间:2017-11-23 12:25:04编辑:雪饮阅读()
日志管理
我们观察nginx的server段,可以看到如下类似信息
#access_log logs/host.access.log main;
这说明该server的访问日志文件是logs/host.access.log使用的格式”main”格式
除了main格式,你可以自定义其他格式。
(1)main格式是什么?
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
main格式是我们定义好一种日志的格式,并起个名字,便于引用。
以上面的例子,main类型的日志,记录的remote_addr…http_x_forwarded_for等选项。
(2)main格式各字段的含义
$remote_addr: 来访者ip地址
$remote_user [$time_local]: 远程用户或远程用户访问时间,这个时间未必有, 取决于访问者的http请求头中是否带有时间 ,而远程用户则是在请求中使用了权限认证的才能显示出来.
$request:请求方法,如post、get
$status:状态,如404,403
$body_bytes_sent:nginx返回给客户端的字节数,不含响应头。
$http_referer:请求来源,如从a页面链接过来,则来源为a页面
$http_user_agent:用户代理,用户不能直接读取网页内容,只能通过浏览器来代理,最后返回给用户以正常人可以看到的界面
$http_x_forwarded_for: 有这么一种网络请求结构,如你网络请求的a服务器,此时a服务器将http_x_forwarded_for改为a,而你请求的内容最终要通过a服务器向b服务器请求,此时
http_x_forwarded_for又变成了b,最后返回的http_x_forwarded_for就是b。
(3)日志路径
默认日志使用的格式为main格式,路径为logs/access.log
(4)日志配置
虽然有默认日志,但是有时候需要对每个server单独配置日志,nginx正好支持每个server单独配置日志。
启用main日志格式:
将如下main配置的注释符都去掉
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';配置log
在server中配置日志:
server {
listen 80;
server_name 192.168.101.108;
location / {
root 192.168.101.108;
index index.html index.htm;
}
access_log logs/z.com.access.log main;
}
关键字词:nginx,日志