一、为nginx配置错误日志

Nginx错误日志是调试nginx的重要手段,属于核心功能模块的参数(ngx_core_module)该参数名字为err_log,是放在Main区块中全局配置

err_log的语法格式以及参数语法说明如下

err_log   file              level(级别)

关键字           日志文件              错误日志级别

其中关键字err_log不能改变

 、在配置文件中写入error_log logs/error.log error
[root@A conf]# Vim nginx.conf
worker_processes ;
error_log logs/error.log error; →这里是写入的默认log
events {
worker_connections ;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout ;
#nginx vhosts config
include extra/www.conf;
include extra/bbs.conf;
include extra/blog.conf;
include extra/status.conf;
}
、检查语法,并且重启
、查看日志,如果日志太多可以清空日志然后查看
[root@A conf]# cat ../error.log →查看nginx的错误日志文件 [root@A conf]# > ../logs/error.log →这个是日志太多然后看不清的时候清空日志
[root@A conf]# cat ../logs/error.log →之后查看日志

二、访问日志作用以及配置

所有的web软件都有这样的功能,会把每个用户访问网站的日志信息记录到指定的日志文件里面,供网站提供这分析用户浏览行为等,如百度。此功能由nginx_http_log_module模块负责,对应的官方地址:

http://nginx.org/en/docs/http/ngx_http_log_module.html

Nginx 访问日志参数

log_format   用来定义记录日志的格式(可以定义多种日志格式,取不同名字即可)

access_log   用来指定日志文件的路径及使用的何种日志格式记录日志

用法如下:

1、取出日志参数格式

下面的log_format格式,在vim nginx_default里面21到23行

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

下面是定义参数

$http_x_forwarded_for  代理接收客户端信息

、把参数放到配置的nginx.conf里面
Vim nginx.conf worker_processes ;
error_log logs/error.log error;
events {
worker_connections ;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout ;
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' →这里放参数
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; →放参数
#nginx vhosts config
include extra/www.conf;
include extra/bbs.conf;
include extra/blog.conf;
include extra/status.conf;
}

配置访问日志如下:

默认配置:access_log logs/access.log cimbined;

放置位置:http,server,location,if in location limit_except

access_log 访问位置,这里一般在虚拟主机里面

logs/access.log 记录文件

cimbined; 以什么样的格式记录

、    写到虚拟主机里面,这里先写到www.conf里面
[root@A conf]# vim extra/www.conf
server {
listen ;
server_name www.cnblog.co pyrene;
location / {
root html/www;
index index.html index.htm;
}
access_log logs/access_www.log main; -→放到location外面,logs是安装目录,后面是名字,以main的方式,这样才你能和log_format 结合使用
}
、 检查语法/application/nginx/sbin/nginx –t,重启
、 查看日志变化用 tail -f /application/nginx/logs/access_www.log 这里的是上面起名字防止的位置

1、  浏览器访问绑定的ip地址就会出现如下:并且和access_log对比

定义的格式

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

里面有参数referer,可以显示你从那个页面过来的是什么手机,什么系统等等

真实的格式

192.168.197.1 - - [17/Dec/2

016:06:42:14 +0800] "GET /favicon.ico HTTP/1.1" 404 570 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/5.0.2.200 Chrome/47.0.2526.73 Safari/537.36" "-"

详细说明信息:

上面的还可以优化,如下

三、日志轮询

nginx中的日志轮询切割一般用cron+脚本

方法如下:

1、首先写入脚本

[root@oldboy logs]# mkdir /server/scripts -p
[root@oldboy logs]# cd /server/scripts/
写脚本之前先创建脚本存放目录
[root@oldboy scripts]# vim cut_nginx_log.sh
#!/bin/bash
cd /application/nginx/logs
#这里如果有博客的log那就把log在这里mv
/bin/mv access_www.log www_access_$(date +%F -d '-1day').log
/application/nginx/sbin/nginx -s reload
#下面可以把这个推送到备份服务器然后删除七天之前的

2、执行 /bin/sh /server/scripts/cut_nginx_log.sh

3、查看是否生成log

[root@oldboy logs]# ls
access.log access_www.log error.log nginx.pid www_access_2017-03-03.log

4、定时任务

[root@oldboy logs]# crontab -l
#time sync by pyrene 2017-1-16
*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1
# nginx acess_log
00 * * * * /bin/sh /server/scripts/cut_nginx_log.sh >/dev/null 2>&1

nginx日志配置,以及日志轮询的更多相关文章

  1. Nginx 核心配置-自定义日志路径及清空日志注意事项

    Nginx 核心配置-自定义日志路径及清空日志注意事项 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.关于日志清空注意事项 1>.nginx服务写访问日志是基于acces ...

  2. Nginx日志配置及日志分析脚本案例

    https://blog.csdn.net/bbwangj/article/details/82186162 nginx的log日志分为access log 和 error log 其中access ...

  3. 14.4.9 Configuring Spin Lock Polling 配置Spin lock 轮询:

    14.4.9 Configuring Spin Lock Polling 配置Spin lock 轮询: 很多InnoDB mutexes 和rw-locks 是保留一小段时间,在一个多核系统, 它可 ...

  4. Nginx日志配置及日志切割

    日志配置 日志对于统计排错来说非常有利的.本文总结了nginx日志相关的配置如access_log.log_format.open_log_file_cache.log_not_found.log_s ...

  5. Nginx 基本配置和日志分析

    最近在维护的一个项目,路由转发规则都统一通过Nginx转发,所以再次参考部分博文和书本,熟悉Nginx的基本配置,还有一个重点也是日志的分析 Nginx 常用模块是server块,location块. ...

  6. 日志实时查看、轮询、统计、监控工具 Loggrove

    Loggrove 是对日志文件进行 阅读.轮询.关键词匹配.监控告警.图表展示 的 Web 服务. 下载地址 https://github.com/olajowon/loggrove 超轻组件 Pyt ...

  7. 03 . Nginx日志配置及日志切割

    Nginx日志 日志对于统计排错来说是非常有利的,Nginx日志主要分为两种: access_log(访问日志)和error_log(错误日志),通过访问日志可以得到用户的IP地址.浏览器的信息,请求 ...

  8. Nginx的负载均衡 - 加权轮询 (Weighted Round Robin) 下篇

    Nginx版本:1.9.1 我的博客:http://blog.csdn.net/zhangskd 上篇blog讲述了加权轮询算法的原理.以及负载均衡模块中使用的数据结构,接着我们来看看加权轮询算法的具 ...

  9. Nginx的负载均衡 - 加权轮询 (Weighted Round Robin) 上篇

    Nginx版本:1.9.1 我的博客:http://blog.csdn.net/zhangskd 算法介绍 来看一个简单的Nginx负载均衡配置. http { upstream cluster { ...

  10. 【Nginx】负载均衡-加权轮询策略剖析

    转自:江南烟雨 本文介绍的是客户端请求在多个后端服务器之间的均衡,注意与客户端请求在多个nginx进程之间的均衡相区别. 如果Nginx是以反向代理的形式配置运行,那么对请求的实际处理需要转发到后端服 ...

随机推荐

  1. 清除掉AD的相关属性!

    今天有朋友问我怎么清除掉AD 的相关属性,由于他们的用户都设置了登录到属性,这样我们的用户就仅仅能登陆他须要设置的计算机.对于兴许规则的变更的时候,我们的管理员配置起来就比較复杂.他须要非常长的时间去 ...

  2. CNN 防止过拟合的方法

    CNN 防止过拟合的方法 因为数据量的限制以及训练参数的增多,几乎所有大型卷积神经网络都面临着过拟合的问题,目前常用的防止过拟合的方法有下面几种:      1. data augmentation: ...

  3. Atitit.pdf 预览 转换html attilax总结

    Atitit.pdf 预览 转换html attilax总结 1. Swf flash还是html1 2. pdf2htmlEX1 3. iText 5.5.0 发布,Java 的 PDF 操作类库1 ...

  4. java编写socket使用bufferedReader.readLine()问题研究

    不写java代码好久,临时写个socket通讯竟然失败,郁闷之下仔细研究了下. 客户端使用BufferedReader来读取数据,在while中调用BufferedReader.readLine()函 ...

  5. 使用Firebug进行断点调试详解

    利用Firebug我们可以非常方便地对网页上的任何JavaScript代码进行断点调试. 首先,使用快捷键F12在当前页面打开Firebug,并切换到脚本选项卡. 其次,我们需要为指定的js代码添加断 ...

  6. idea各种设置和学习

    1. 去掉方法中的参数名提示 idea在Review时候的编码设置 idea在review代码的时候会会出现中文乱码,文件是GBK的,但是idea的字符集和项目的字符集都是UTF-8, 这时可以通过把 ...

  7. Hugo hexo 搭建博客系列1:自己的服务器

    hexo jekyll https://hexo.io/zh-cn/ http://theme-next.iissnan.com/getting-started.html Hexo 是高效的静态站点生 ...

  8. 粗体EditorGUI

    GUILayout.Label ("Shading", EditorStyles.boldLabel); EditorGUILayout.Space (); InspectorSu ...

  9. iOS开发 Xcode8 问题

      一.证书管理 用Xcode8打开工程后,比较明显的就是下图了,这个是苹果的新特性,可以帮助我们自动管理证书.建议大家勾选这个Automatically manage signing(Ps.但是在b ...

  10. vscode 和 atom 全局安装和配置 eslint 像 webstorm 等 ide 一样使用 standard标准 来检查项目

    首先你要安装了 nodejs ,然后在终端命令行输入下面的这堆 npm install eslint eslint-plugin-standard eslint-config-standard esl ...