您的位置:首页 > 运维架构 > Nginx

Nginx日志、以及日志分割

2014-02-15 16:32 417 查看
由于缓存功能, 我们的后台统计功能会很不准确。页面js的可靠性也不精准。所以我们需要针对Nginx日志进行分析,这里就需要去配置Nginx的日志和每日的日志分割。

我们先来了解下Nginx的日志功能。

nginx 日志相关指令主要有两条,

log_format,用来设置日志格式,

access_log,用来指定日志文件的存放路径、格式和缓存大小

log_format 格式

$remote_addr 与$http_x_forwarded_for 用以记录客户端的ip地址;

$remote_user :用来记录客户端用户名称;

$time_local : 用来记录访问时间与时区;

$request : 用来记录请求的url与http协议;

$status : 用来记录请求状态;成功是200,

$body_bytes_s ent :记录发送给客户端文件主体内容大小;

$http_referer :用来记录从那个页面链接访问过来的;

$http_user_agent :记录客户毒啊浏览器的相关信息;

用access_log指令日志文件存放路径;

用了log_format 指令设置了日志格式之后,需要用access_log指令指定日志文件的存放路径;

access_log path(存放路径) format (自定义日志名称)

Nginx 的Config中会有相关示例,我们照搬就可以了。

日志切割网上有相关源代码:

#nginx日志切割脚本
#author: http://www.nginx.cn 
#!/bin/bash
#设置日志文件存放目录
logs_path="/usr/local/nginx/logs/"
#设置pid文件
pid_path="/usr/local/nginx/nginx.pid"

#重命名日志文件
mv ${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").log

#向nginx主进程发信号重新打开日志
kill -USR1 `cat ${pid_path}`


这段代码不难理解,其实就是所谓的日志更名。如果有需要,我们可以自己再对代码进行改进。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: