详解Nginx服务器中的日志相关配置

 更新时间:2015年08月15日 16:38:20   投稿:goldensun  
这篇文章主要介绍了详解Nginx服务器中的日志相关配置,Nginx是拥有高性能的异步非阻塞型服务器,需要的朋友可以参考下

nginx 日志相关指令主要有两条,
log_format,用来设置日志格式,
access_log,用来指定日志文件的存放路径、格式和缓存大小

log_format 格式
log_format name( 格式名字) 格式样式(即想要得到什么样的日志内容)

 
默认的示例:

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_s ent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"']

#注释:
$remote_addr 与$http_x_forwarded_for 用以记录客户端的ip地址;
$remote_user :用来记录客户端用户名称;
$time_local : 用来记录访问时间与时区;
$request : 用来记录请求的url与http协议;
$status : 用来记录请求状态;成功是200,
$body_bytes_s ent :记录发送给客户端文件主体内容大小;
$http_referer :用来记录从那个页面链接访问过来的;
$http_user_agent :记录客户机,浏览器的相关信息;

通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址;
 

log_format mylogformat ' $http_x_forwarded_for- $remote_user [$time_local] '
' "$request" '$status $body_bytes_s ent '
' "$http_referer" "$http_user_agent" ';

用access_log指令日志文件存放路径;
用了log_format 指令设置了日志格式之后,需要用access_log指令指定日志文件的存放路径;
access_log path(存放路径) format (自定义日志名称)

 

#示例:
access_log logs/access.log main;
 
#我们用log_format 定义了一个mylogformat的日志 我们可以写成这样
access_log logs/access.log mylogformat;
 
#如果不想启用日志 :
access_log off ;

 
在定义日志目录中要注意的是,nginx进程设置的用户和组必须有对该路径 创建文件的权限,假设nginx的usr指令设置的用户名和用户组都是www,而logs目录的用户名和组是root,那么日志文件将无法被创建;

Nginx日志切割脚本

#!/usr/bin/env python
 
import datetime,os,sys,shutil
 
log_path = '/alidata/log/nginx/access/'
log_file = 'www.wpython.com.log'
 
yesterday = (datetime.datetime.now() - datetime.timedelta(days = 1))
 
try:
 os.makedirs(log_path + yesterday.strftime('%Y') + os.sep + \
    yesterday.strftime('%m'))
 
except OSError,e:
 print
 print e
 sys.exit()
 
 
shutil.move(log_path + log_file,log_path \
   + yesterday.strftime('%Y') + os.sep \
   + yesterday.strftime('%m') + os.sep \
   + log_file + '_' + yesterday.strftime('%Y%m%d') + '.log')
 
 
os.popen("sudo kill -USR1 `cat /alidata/server/nginx/logs/nginx.pid`")

相关文章

  • Nginx的信号控制

    Nginx的信号控制

    今天小编就为大家分享一篇关于Nginx的信号控制,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • Nginx屏蔽F5心跳日志、指定IP访问日志

    Nginx屏蔽F5心跳日志、指定IP访问日志

    这篇文章主要介绍了Nginx屏蔽F5心跳日志、指定IP访问日志,本文直接给出配置示例,需要的朋友可以参考下
    2015-04-04
  • 详解nginx静态资源服务器简单配置

    详解nginx静态资源服务器简单配置

    这篇文章主要介绍了详解nginx静态资源服务器简单配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Nginx出现403 Forbidden的四种解决方案分享

    Nginx出现403 Forbidden的四种解决方案分享

    这篇文章主要给大家分享了关于Nginx出现403 Forbidden的四种解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • 完全卸载nginx以及安装的超详细步骤

    完全卸载nginx以及安装的超详细步骤

    由于之前下载太乱,找相关目录半天找不对位置,所以决定卸载nginx并重新安装,下面这篇文章主要给大家介绍了关于完全卸载nginx以及安装的超详细步骤,需要的朋友可以参考下
    2022-12-12
  • 隐藏网站Nginx版本号信息的方法分享

    隐藏网站Nginx版本号信息的方法分享

    隐藏网站nginx服务的版本号信息,在安全的角度上来说,可以防止黑客快速利用nginx的版本漏洞进行攻击,所以本文为大家整理了隐藏网站Nginx版本号信息的方法,希望对大家有所帮助
    2023-08-08
  • Nginx服务器中配置非80端口的端口转发方法详解

    Nginx服务器中配置非80端口的端口转发方法详解

    这篇文章主要介绍了Nginx服务器中配置非80端口的端口转发方法详解,文中使用到了Nginx中的proxy_pass配置项,需要的朋友可以参考下
    2016-04-04
  • Nginx服务器配置HTTPS nginx.config 配置文件(教程)

    Nginx服务器配置HTTPS nginx.config 配置文件(教程)

    下面小编就为大家分享一篇Nginx服务器配置HTTPS nginx.config 配置文件(教程),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • nginx搭建文件服务器的详细过程

    nginx搭建文件服务器的详细过程

    这篇文章主要介绍了nginx搭建文件服务器,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Nginx 配置反向代理使用 Google fonts 字体并开启 HTTP2/SSL 支持

    Nginx 配置反向代理使用 Google fonts 字体并开启 HTTP2/SSL 支持

    nginx作为web服务器一个重要的功能就是反向代理。当然你也可以使用nginx配置正向代理,本是介绍如何配置nginx的反向代理。nginx反向代理的指令不需要新增额外的模块,默认自带proxy_pass指令,只需要修改配置文件就可以实现反向代理。
    2017-04-04

最新评论