`

深入浅出Nginx之四【日志切割与环境变量】

阅读更多

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

 

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

    #!/bin/bash

    log_path="/opt/nginx/logs"
    dir_name=`date -d "yesterday" +%Y%m`
    file_name=`date -d "yesterday" +%Y.%m_%d`

    mkdir -p ${log_path}/${dir_name}
    mv ${log_path}/access.log ${log_path}/${dir_name}/${file_name}.log

    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. 赋予执行权限、执行:

  ls -al
  chmod 744 split-nginx-log.sh
  ./split-nginx-log.sh

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

  crontab -e
  00 00 * * * /root/split-nginx-log.sh

 

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

  NGINX_HOME=/usr/local/nginx
  PATH=$NGINX_HOME/sbin:$PATH
  export PATH

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

    nginx -c /usr/local/nginx/conf/nginx.conf
    nginx -s quit

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

nginx -c /usr/local/nginx/conf/nginx.conf

   关闭:vi stop-nginx.sh   

nginx -s quit

    执行权限:   

   chmod 744 start-nginx.sh
   chmod 744 stop-nginx.sh

    执行脚本:蠢话

   ./start-nginx.sh
   ./stop-nginx.sh

 

1
0
分享到:
评论

相关推荐

    windows 下 nginx 日志切割

    windows 下nginx 日志切割 结合windows任务计划,实现每天备份日志,并reopen nginx

    深入浅出Nginx之二【基本配置】

    《深入浅出Nginx之二【基本配置】》这篇博文主要探讨了Nginx的基础配置,涵盖了Nginx作为一款高性能的Web服务器和反向代理服务器如何进行配置以满足不同场景的需求。以下是对该文内容的详细解读: 1. **Nginx简介**...

    nginx日志自动定时切割及清除脚本

    nginx日志自动定时切割及清除脚本

    nginx按天进行日志切割脚本,同样适合其它很多服务日志的切割

    nginx按天进行日志切割脚本,同样适合其它很多服务日志的切割,压缩包包含shell切割脚本和使用说明,该脚本适合nginx同时也适合其他类似服务的日志切割,只要简单修改shell脚本即可,灵活多变,实用。

    windows nginx 按天切割日志

    windows nginx 按天切割日志

    Nginx日志切割脚本

    Nginx日志切割脚本

    nginx日志按时间切割.zip

    总之,`nginx日志按时间切割.zip`提供的批处理脚本为Windows环境下Nginx日志管理提供了一种基础解决方案。通过定期运行此脚本,可以有效地管理和跟踪Nginx服务器的日志信息,这对于日常运维和问题排查具有重要意义。...

    nginx安装和nginx日志切割

    - `create 640 nginx adm`:切割后创建新日志文件,权限为640,属主为nginx,属组为adm。 - `postrotate`和`endscript`之间的命令会在每次切割后执行,这里是发送信号让Nginx重载配置,从而让新的日志文件生效。 ...

    Nginx配置负载均衡、动静分离、请求日志打印、日志切割、压缩、删除.md

    ### Nginx 配置详解:负载均衡、动静分离、请求日志打印、日志切割与管理 #### 一、Nginx配置负载均衡 **负载均衡**是Nginx的一项核心功能,它能帮助我们将客户端请求分发到不同的服务器上,从而提高系统的稳定性...

    Nginx自动日志切割

    Nginx自动日志切割是解决日志文件过大,占用磁盘空间,以及方便历史数据检索的有效手段。 首先,Nginx日志的生成和配置。日志格式可以自定义,例如使用`log_format`指令设置日志模板。如文中的`main`格式,它包含了...

    windows-nginx-log 日志分割

    加到计划任务里,每天自动分割 nginx日志,低分白送,windows版本批处理文件哦

    nginx日志切割.rar

    四、日志压缩与保留策略 为了节省磁盘空间,切割后的日志文件可以进一步进行压缩。在日志切割脚本中添加`gzip`命令: ```bash gzip /var/log/nginx/access.log.$DATE gzip /var/log/nginx/error.log.$DATE ``` ...

    logrotate 日志切割 nginx

    Logrotate 日志切割 Nginx Logrotate 是一个基于 CRON 运行的日志切割工具,它可以根据配置文件自动切割和压缩日志文件。下面是 Logrotate 的详细介绍和相关知识点: 1. Logrotate 的介绍 Logrotate 是一个基于 ...

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

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

    nginx日志切割.doc

    nginx日志切割

    Nginx日志管理介绍

    Nginx日志描述 通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。因此,将日志好好利用,你可以得到很多有价值的...

    Windows系统nginx日志分割批处理脚本

    : 为限制 Nginx日志文件大小增加,文件过大,导致无法收缩日志,在配置好的nginx的安装目录下,可以采用批处理文件对日志,根据实际需要的时间进行自动切割,本脚本以天为单位进行保存。对于日志备份功能,因存储...

    Nginx日志分析工具2.1.0.zip

    Nginx日志分析工具2.1.0是一款专为Windows平台设计的软件,用于高效地解析、统计和分析Nginx服务器产生的日志文件。Nginx作为一款高性能的Web服务器和反向代理服务器,广泛应用于各类网站和应用程序中。在日常运维...

    Nginx日志切割清理脚本

    利用crontab定时机制触发shell脚本,自动切割nginx的日志文件,并实现自动清理,可直接在服务器上上传使用

    nginx日志文件切割

    在高访问量的网站环境中,Nginx的日志文件可能会迅速增长,如果不进行适当的切割,可能会导致硬盘空间耗尽,影响服务的正常运行。下面将详细介绍Nginx日志文件切割的相关知识点。 首先,我们需要了解Nginx的日志...

Global site tag (gtag.js) - Google Analytics