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日志文件的配置的更多相关文章
- Nginx日志文件配置与切割
Nginx日志的指令主要有两条: log_format,设置日志的格式 access_log,指定日志文件的存放路径.格式和缓存大小 两条指令在Nginx配置文件中的位置可以在http{……..}之间 ...
- 使用logrotate管理nginx日志文件
本文转载自:http://linux008.blog.51cto.com/2837805/555829 描述:linux日志文件如果不定期清理,会填满整个磁盘.这样会很危险,因此日志管理是系统管理员日 ...
- nginx(四)初识nginx日志文件
nginx 日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,通俗的理解就是先用log_format来定 ...
- apache与nginx日志文件的区别(转载)
apache与nginx日志文件的区别 转载:http://www.xfcodes.com/apache/log/3270.htm 导读:apache与nginx日志文件的区别,在apache与ngi ...
- 如何对Nginx日志文件进行切割保存
日积月累下,日志文件会越来越大,日志文件太大严重影响服务器效率,须要定时对日志文件进行切割. 切割的方式有按月切割.按天切割.按小时切割,一般都是按天切割. 那么如何进行切割呢? 思路: 创建日志文件 ...
- Nginx 日志文件切割
Nginx 是一个非常轻量的 Web 服务器,体积小.性能高.速度快等诸多优点.但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将 导致日志文件容量 ...
- nginx日志文件切割
#!/bin/bash #脚本对日志文件进行切割 #脚本需要crontab 每天定时执行 #Nginx 日志文件的存放路径 logs_path="/../logs/" mkdir ...
- 转:Nginx 日志文件切割
http://www.cnblogs.com/benio/archive/2010/10/13/1849935.html 偶然发现access.log有21G大,所以将其切割. Nginx 是一个非常 ...
- eclipse集成tomcat日志文件输出配置
eclipse集成tomcat日志文件输入配置 2015-07-21 00:13 1072人阅读 评论(0) 收藏 举报 分类: tomcat(1) eclipse Where can I vie ...
随机推荐
- Laya微信小游戏本地缓存
测试版本2.1.1.1 查看bin/libs/laya.wxmini.js. 发现只会缓存png,jpg. 声音和atlas,json不会缓存. 对比白鹭,白鹭是将png,jpg,atlas,json ...
- 【443】Tweets Analysis Q&A
[Question 01] When converting Tweets info to csv file, commas in the middle of data (i.e. locati ...
- 使用postman调用webservice接口
通过wsdl查看接口地址: 填入xml报文: 配置相应的headers:
- java使用Sonic 算法对音频变速不变声、变调、调整音量
依赖库:https://github.com/waywardgeek/sonic 基础库:Sonic.java /* Sonic library Copyright 2010, 2011 Bill C ...
- 通过pathinfo返回扩展名
strtolower(pathinfo(abs.php,PATHINFO_EXTENSION)); 小写 通过pathinfo返回扩展名 pathinfo() 函数以数组的形式返回文件路径的信息. p ...
- Nginx之开启压缩
参考:https://blog.csdn.net/php12345679/article/details/80843939 https://blog.csdn.net/pf1234321/articl ...
- Clean Code 代码整洁之道
军规:让营地比你来时更干净. 整洁代码 Leblanc : Later equals never. (勒布朗法则:稍后等于永不) 对代码的每次修改都影响到其他两三处代码. 修改无小事. 如同医生不能遵 ...
- redhat与zlib兼容性问题?
今天在redhat 6.3 x64版本上安装了zlib,安装完后可以正常使用,就是发现gedit使用有点异常——无法启动,当时也没在意,但是后来重启电脑后出现桌面背景图片后就不弹出登陆窗口了,但是进命 ...
- Spring Boot 入门(九):集成Quartz定时任务
本片文章续<Spring Boot 入门(八):集成RabbitMQ消息队列>,关于Quartz定时任务请参考<Quartz的基本使用之入门(2.3.0版本)> spring ...
- 函数的第一类对象,f格式化,迭代器以及递归
函数名的第一类对象及使用,f格式化以及迭代器 1.函数的第一类对象 第一类对象 --特殊点 1.可以当作值被赋值给变量 def func(): print(1) a = func a() 2.可以当作 ...