`

nginx日志访问切割

阅读更多

 原文:http://hello-nick-xu.iteye.com/blog/2090586

 http://hello-nick-xu.iteye.com/blog/2102667

 

 

       在真实的Nginx实践过程中,我们通常都会对Nginx的访问日志进行切割,即按照一定的周期生成一个独立的Nginx访问日志文件,以避免存在文件体积过于庞大的日志文件。一方面有助于实际的错误排查,更重要的是有利于Nginx对访问文件的写入天真。同时,可以将Nginx的安装路径加入到环境变量,甚至可以编写启动关闭脚本,以方便实际操作。皱眉

 

<一>. 切割日志文件:
 1. 编写脚本:su - root
        进入主目录:cd ~
        编写脚本:vi split-nginx-log.sh大笑

Shell代码  收藏代码
  1. #!/bin/bash  
  2.   
  3. log_path="/opt/nginx/logs"  
  4. dir_name=`date -d "yesterday" +%Y%m`  
  5. file_name=`date -d "yesterday" +%Y.%m_%d`  
  6.   
  7. mkdir -p ${log_path}/${dir_name}  
  8. mv ${log_path}/access.log ${log_path}/${dir_name}/${file_name}.log  
  9.   
  10. kill -USR1 `cat ${log_path}/nginx.pid`  

       细节说明:
         1. 前一天的日期:date -d "yesterday" +%Y%m%d
         2. 递归创建目录,如果已存在则不创建:mkdir -p ${log_path}/${dir_name}
         3. 对日志文件重命名:mv access.log new.access.log 
         4. 通知nginx主进程重新打开日志文件:kill -USR1 `cat /opt/nginx/logs/nginx.pid`

 2. 赋予执行权限、执行:

Shell代码  收藏代码
  1. ls -al  
  2. chmod 744 split-nginx-log.sh  
  3. ./split-nginx-log.sh  

 3. 定时调度:每天零点切割日志  酷

Shell代码  收藏代码
  1. crontab -e  
  2. 00 00 * * * /root/split-nginx-log.sh  

 

<二>. 设置环境变量:
 1. 编辑当前用户PATH:
        显示PATH:echo $PATH
         用户主目录:cd ~
         编辑文件、追加如下内容:vi .bash_profile大笑

Shell代码  收藏代码
  1. NGINX_HOME=/usr/local/nginx  
  2. PATH=$NGINX_HOME/sbin:$PATH  
  3. export PATH  

       立即生效:source .bash_profile
 2. 启动、关闭: 

Shell代码  收藏代码
  1. nginx -c /usr/local/nginx/conf/nginx.conf  
  2. nginx -s quit  

    3. 可执行脚本:
   启动:vi start-nginx.sh

Shel代码  收藏代码
  1. nginx -c /usr/local/nginx/conf/nginx.conf  

   关闭:vi stop-nginx.sh   

Shell代码  收藏代码
  1. nginx -s quit  

    执行权限:   

Shell代码  收藏代码
  1. chmod 744 start-nginx.sh  
  2. chmod 744 stop-nginx.sh  

    执行脚本:蠢话

Shell代码  收藏代码
  1. ./start-nginx.sh  
  2. ./stop-nginx.sh  
分享到:
评论

相关推荐

    nginx日志文件切割

    **Nginx日志文件切割**是Web服务器管理中的一个重要环节,主要目的是为了定期归档、管理和优化存储空间。在高访问量的网站环境中,Nginx的日志文件可能会迅速增长,如果不进行适当的切割,可能会导致硬盘空间耗尽,...

    nginx安装和nginx日志切割

    **Nginx日志切割** Nginx默认将访问日志记录在`/var/log/nginx/access.log`,错误日志记录在`/var/log/nginx/error.log`。日志切割是为了便于日志管理和存储,避免单个日志文件过大。以下是一个简单的日志切割方案...

    Nginx自动日志切割

    首先,Nginx日志的生成和配置。日志格式可以自定义,例如使用`log_format`指令设置日志模板。如文中的`main`格式,它包含了客户端IP、用户名、时间戳、请求信息、状态码、发送的字节数、引用页面、用户代理和X-...

    nginx日志切割.rar

    【Nginx日志切割详解】 在Web服务器的日常运维中,日志管理是一项至关重要的任务。Nginx作为一款高性能的HTTP和反向代理服务器,其日志记录功能可以帮助我们监控服务器状态、分析访问流量、排查问题等。然而,随着...

    详解Nginx日志配置及日志切割

    本文将对Nginx日志配置及日志切割进行详细介绍。 首先,Nginx提供了多种日志配置指令,这些指令可以定义日志记录的行为和格式。以下是两个核心的指令: 1. access_log:此指令用于开启或关闭访问日志,并设置日志...

    nginx 访问访问日志按天切割.sh

    nginx 访问访问日志按天切割.sh

    使用awstats分析nginx日志

    ### 使用Awstats分析Nginx日志 #### Awstats简介 Awstats是一款开源的Web日志分析工具,基于Perl语言开发。它能够提供全面且直观的网站访问统计数据,包括但不限于访问次数、唯一访客数量、访问时间分布、操作系统...

    nginx日志按天生成和定期删除日志的方法

    本文将详细介绍如何实现Nginx日志按天生成和定期删除,以优化日志管理。 首先,Nginx默认的日志生成方式是将所有访问记录都写入到同一份access.log和error.log文件中,随着时间推移,这些文件可能会变得非常大。...

    nginx日志切割脚本分享

    ### Nginx日志切割脚本详解 #### 引言 在运维工作中,Nginx作为一款高性能的HTTP服务器及反向代理服务器,在处理大量访问请求时会产生庞大的日志文件。这些日志文件不仅占用大量的磁盘空间,还会影响系统的性能,...

    nginx日志模块及日志定时切割的方法

    最后,本文中提到的日志处理和切割的方法,都是对nginx日志模块的有效利用,能够确保在面对大规模流量时,依然可以准确记录请求详情,便于故障排查、性能监控以及安全审计等工作。同时,合理的日志管理策略对于维持...

    linux Nginx 日志脚本

    Nginx日志分析脚本用于对Nginx生成的日志文件进行分析,提取有用的信息,帮助管理员了解网站访问情况,如访问量统计、用户行为分析等。 **脚本内容分析:** 1. **获取Nginx进程信息:** - 通过`ps aux | grep ...

    Nginx 访问日志增长暴增出现尖刀的详细分析.rar

    2. **错误配置**:Nginx的日志配置可能存在错误,例如,未正确配置日志切割,导致所有日志都写入同一个文件,而不是按日期或大小滚动。确保`logrotate`配置正确,定期清理和归档旧日志,防止单个日志文件过大。 3. ...

    nginx访问日志并删除指定天数前的日志记录配置方法

    4. 创建Nginx日志切割脚本。脚本主要负责执行日志的重命名、发送信号给Nginx进程以及删除旧的日志文件。使用cron定时任务可以每天自动执行该脚本。 日志切割脚本主要包含以下功能: - 移动当前的访问日志文件到指定...

    AWStats+JAWStats快速构建Nginx日志分析系统

    此外,考虑到网站的流量较大,为了提高服务器性能和减少日志文件大小,建议每天进行一次 Nginx 日志的切割。下面是一个示例命令: ```bash vim /etc/logrotate.d/nginx /usr/local/nginx/logs/*.log { daily ...

    Linux下nginx生成日志自动切割的实现方法

    本文将详细介绍如何在Linux环境下通过Shell脚本实现Nginx日志文件的自动切割。 #### 实现步骤 ##### 步骤一:编写Shell脚本 首先,需要创建一个Shell脚本来处理日志文件的切割操作。该脚本将负责以下功能: 1. *...

    nginx服务器中access_log日志分析与配置详解

    在Nginx服务器中,Access Log是记录客户端请求的重要日志,它包含了丰富的信息,可用于分析用户行为、优化网站性能和排查问题。了解和掌握Access Log的分析与配置对于任何Web服务的运维人员来说都至关重要。 1. **...

    Nginx设置日志打印post请求参数的方法

    1. **全面性**:Nginx日志记录了访问者IP、浏览器信息、请求参数等,提供了比Java请求日志更全面的信息。 2. **性能优化**:当请求量过大导致Java应用无法及时处理时,Nginx的日志可以帮助分析流量,排查问题,优化...

    Nginx日志管理介绍

    在管理Nginx日志时,会发现Nginx日志文件不具备自动轮转(rotate)功能,因此需要手动配置日志切割以避免日志文件过大导致管理不便。通常的做法是编写一个日志切割脚本,该脚本首先重命名当前日志文件。重命名后,...

Global site tag (gtag.js) - Google Analytics