来源:自学PHP网 时间:2015-07-25 22:53 作者: 阅读:次
[导读] 这篇文章主要介绍了nginx访问日志并删除指定天数前的日志记录配置方法,需要的朋友可以参考下...
说明: 操作系统:CentOS 站点1:bbs.jb51.net 站点2:sns.jb51.net Nginx安装路径:/usr/local/nginx Nginx配置文件路径:/usr/local/nginx/conf/nginx.conf 站点1配置文件路径:/usr/local/nginx/conf/vhost/bbs.jb51.net.conf 站点2配置文件路径:/usr/local/nginx/conf/vhost/sns.jb51.net.conf 目的: 1、对站点1和站点2的nginx访问日志按天保存,日志路径为: 站点1:/usr/local/nginx/logs/nginx_logs/bbs_logs 站点2:/usr/local/nginx/logs/nginx_logs/sns_logs 2、只保留30天以内的日志记录 具体操作: 1、创建日志存放路径 2、设置Nginx日志记录格式 编辑vi /usr/local/nginx/conf/nginx.conf 取消日志记录格式前面的注释,在最后添加一行,如下所示: 3、设置虚拟主机配置文件 编辑vi /usr/local/nginx/conf/vhost/bbs.jb51.net.conf #,在bbs.jb51.net;这一行下面添加 编辑vi /usr/local/nginx/conf/vhost/sns.jb51.net.conf ,在sns.jb51.net;这一行下面添加 复制代码 代码如下: 4、创建Nginx日志切割脚本 编辑vi /home/crontab/cut_nginx_log.sh 复制代码 代码如下: 5、添加任务计划,修改/etc/crontab vi /etc/crontab在最后一行添加 6、重新启动crond使设置生效 每天会在/usr/local/nginx/logs/nginx_logs/bbs_logs和/usr/local/nginx/logs/nginx_logs/sns_logs 目录下生成类似bbs_access_20140126.log和bbs_access_20140126.log的日志文件 并且只保留最近30天的日志记录 至此,Linux下定时切割Nginx访问日志并删除指定天数前的日志记录完成。 备注:如果脚本在执行过程中出现下面错误 解决办法: 扩展阅读:Nginx访问日志参数说明 $remote_addr:客户端地址 192.168.21.1 $remote_user:客户端用户 - $time_local:时间和时区 27/Jan/2014:11:28:53 +0800 $request:请求的URL路径和HTTP协议 GET /2.php HTTP/1.1 $status: HTTP状态 200 $body_bytes_sent:发送给客户端页面大小 133 $http_referer:页面跳转来源 - $http_user_agent:用户访问终端 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1707.0 Safari/537.36 $http_x_forwarded_for:HTTP 代理中,请求端真实IP - $http_host:用户在浏览器中输入的URL(IP或着域名)地址 192.168.21.128 $upstream_status: upstream状态 200 $upstream_addr: 后端upstream地址及端口 127.0.0.1:9000 $request_time: 页面访问总时间 0.119 $upstream_response_time:页面访问中upstream响应时间 0.119 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com