文章来源

运维公会: nginx日志文件的配置

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自动创建。

 

nginx日志文件的配置的更多相关文章

  1. Nginx日志文件配置与切割

    Nginx日志的指令主要有两条: log_format,设置日志的格式 access_log,指定日志文件的存放路径.格式和缓存大小 两条指令在Nginx配置文件中的位置可以在http{……..}之间 ...

  2. 使用logrotate管理nginx日志文件

    本文转载自:http://linux008.blog.51cto.com/2837805/555829 描述:linux日志文件如果不定期清理,会填满整个磁盘.这样会很危险,因此日志管理是系统管理员日 ...

  3. nginx(四)初识nginx日志文件

    nginx 日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,通俗的理解就是先用log_format来定 ...

  4. apache与nginx日志文件的区别(转载)

    apache与nginx日志文件的区别 转载:http://www.xfcodes.com/apache/log/3270.htm 导读:apache与nginx日志文件的区别,在apache与ngi ...

  5. 如何对Nginx日志文件进行切割保存

    日积月累下,日志文件会越来越大,日志文件太大严重影响服务器效率,须要定时对日志文件进行切割. 切割的方式有按月切割.按天切割.按小时切割,一般都是按天切割. 那么如何进行切割呢? 思路: 创建日志文件 ...

  6. Nginx 日志文件切割

    Nginx 是一个非常轻量的 Web 服务器,体积小.性能高.速度快等诸多优点.但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将 导致日志文件容量 ...

  7. nginx日志文件切割

    #!/bin/bash #脚本对日志文件进行切割 #脚本需要crontab 每天定时执行 #Nginx 日志文件的存放路径 logs_path="/../logs/" mkdir ...

  8. 转:Nginx 日志文件切割

    http://www.cnblogs.com/benio/archive/2010/10/13/1849935.html 偶然发现access.log有21G大,所以将其切割. Nginx 是一个非常 ...

  9. eclipse集成tomcat日志文件输出配置

    eclipse集成tomcat日志文件输入配置 2015-07-21 00:13 1072人阅读 评论(0) 收藏 举报  分类: tomcat(1)  eclipse Where can I vie ...

随机推荐

  1. PAT 甲级 1072 Gas Station (30 分)(dijstra)

    1072 Gas Station (30 分)   A gas station has to be built at such a location that the minimum distance ...

  2. 增强篇3 SAP表字段增强

    有两种方式:  Include  和 Append 1.INCLUDE一般都是标准预留的增强: 以CO01生产订单增强字段为例 在表AUFK中INCLUDE的结构“CI_AUFK”加入自定义字段 保存 ...

  3. intellij tomcat配置

    目录 intellij tomcat配置 @(目录) intellij tomcat配置 如上图标注 1 所示,我们可以切换随时为项目切换不同的容器. 如上图标注 2 所示,我们可以指定给运行的容器设 ...

  4. C++高精度整数加减乘除模板

    其中高精度乘法通过了POJ2389,其他没有测过,不过应该是没有问题的. 其中高精度除法返回一对string,分别表示商和余数. 代码: #include <bits/stdc++.h> ...

  5. 修改config中的assemblyBinding

    修改config中的assemblyBinding 未测试这段代码 private void SetRuntimeBinding(string path, string value) { XmlDoc ...

  6. [BJOI2019] 奥术神杖 [取log+AC自动机+dp]

    题面 传送门 思路 首先,看到这个乘起来开根号的形式,应该能想到用取$\log$的方式做一个转化: $\sqrt[n]{\prod_i a_i}=\frac{1}{n}\sum_i \log_b a_ ...

  7. xadmin自定义菜单、增加功能、富文本编辑器

    xadmin功能:https://www.cnblogs.com/derek1184405959/p/8682250.html#blogTitle7

  8. ROS安装,配置

    ROS最好安装在Ubuntu系统,因为ROS目前在其他的系统中都是试验性的 ! <Learning ROS for Robotics Programming-- second Edition&g ...

  9. MySQL基础操作(一)

    MySQL操作 一.创建数据库 # utf CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; # gbk CREA ...

  10. Mybatis配置、逆向工程自动生成代码(CRUD案例)

    目的: mybatis简介 搭建mybatis环境 基于SSM逆向工程的使用 Mybatis增删改查案例 mybatis简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及 ...