NGINX配置之一:日志篇

Posted 九号云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NGINX配置之一:日志篇相关的知识,希望对你有一定的参考价值。

打开nginx.conf配置文件:

vi /usr/local/nginx/conf/nginx.conf

日志部分内容:

日志生成的到Nginx根目录logs/access.log文件,默认使用“main”日志格式,也可以自定义格式。

#access_log  logs/access.log  main;

默认“main”日志格式: 

参数明细表:

 

$remote_addr

客户端的ip地址(代理服务器,显示代理服务ip)

$remote_user

用于记录远程客户端的用户名称(一般为“-”)

$time_local

用于记录访问时间和时区

$request

用于记录请求的url以及请求方法

$status

响应状态码,例如:200成功、404页面找不到等。

$body_bytes_sent

给客户端发送的文件主体内容字节数

$http_user_agent

用户所使用的代理(一般为浏览器)

$http_x_forwarded_for

可以记录客户端IP,通过代理服务器来记录客户端的ip地址

$http_referer

可以记录用户是从哪个链接访问过来的

查看日志命令

tail -f /usr/local/nginx/logs/access.log

 

 

日志配置和及切割

/etc/init.d/rsyslog start  #系统日志,如不开启,看不到定时任务日志
/etc/rc.d/init.d/crond start    #定时任务开启

编写sh

找到你想放置sh的地址

vi logcut.sh

#!/bin/bash
#设置日志文件存放目录
LOG_HOME="/usr/local/nginx/logs/"
#备分文件名称
LOG_PATH_BAK="$(date -d yesterday +%Y%m%d)"
#重命名日志文件
mv ${LOG_HOME}/access.log ${LOG_HOME}/access.${LOG_PATH_BAK}.log
mv ${LOG_HOME}/error.log ${LOG_HOME}/error.${LOG_PATH_BAK}.log
#向nginx主进程发信号重新打开日志
kill -USR1 `cat ${LOG_HOME}/nginx.pid`

 

然后编写完后赋权

chmod +x logcut.sh

赋权完配置定时任务

格式:cron表达式   你的sh脚本的地址

crontab -e
然后配置
*/1 * * * * /usr/local/nginx/sbin/logcut.sh

 

以上是关于NGINX配置之一:日志篇的主要内容,如果未能解决你的问题,请参考以下文章

配置 Nginx 的访问日志和错误日志

lanmp之一 (动静分离)

Nginx常用配置和使用详解梳理

配置 VScode 编辑器 (前端篇)

logrotate轮询nginx日志

python分析apache和nginx日志文件输出访客ip列表的代码