`

深入浅出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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics