• nginx 日志整理 目录区分 日志配置


    Nginx日志对于统计、系统服务排错很有用,但是原始的配置方案,日志很难定位问题。因此设想将nginx日志分类,包括access及error日志。并且按照不同域名及日志进行分类。

    配置nginx日志目录

    方便管理,建议不同的server按照不同的.conf分开,方便后期维护,然后在nginx.conf中引入。

    vim /usr/local/nginx/conf/nginx.conf
    # 引入其他server块的配置文件
    include vhost/www.conf;
    include vhost/database.conf;
    

    在www.conf,database.conf的server块中配置日志的目录

    access_log /data/logs/nginx/www/nginx_access.log main;
    error_log /data/logs/nginx/www/nginx_error.log error;
    
    access_log /data/logs/nginx/database/nginx_access.log main;
    error_log /data/logs/nginx/database/nginx_error.log error;
    

    写自动执行切割日志的脚本 cut_nginx_log.sh如下

    #! /bin/bash
    M=$(date +%Y%m)
    D=$(date +%m%d)
    
    
    
    WWW_NGINX_LOGS_DIR=/data/logs/nginx/www/
    WWW_NGINX_ACCESS_LOG=/data/logs/nginx/www/nginx_access.log
    WWW_NGINX_ERROR_LOG=/data/logs/nginx/www/nginx_error.log
    
    DATABASE_NGINX_LOGS_DIR=/data/logs/nginx/database/
    DATABASE_NGINX_ACCESS_LOG=/data/logs/nginx/database/nginx_access.log
    DATABASE_NGINX_ERROR_LOG=/data/logs/nginx/database/nginx_error.log
    
    PHP_LOGS_DIR=/data/logs/php/
    
    # 裁剪www域名下的nginx日志
    if [ -f "$WWW_NGINX_ACCESS_LOG" ]; then
        echo 'www域名下nginx_access.log文件存在,开始裁剪日志'
        if [ ! -d "$WWW_NGINX_LOGS_DIR$M" ]; then
          mkdir -p "$WWW_NGINX_LOGS_DIR$M"
          echo '文件夹创建成功'
        fi
        mv ${WWW_NGINX_ACCESS_LOG} ${WWW_NGINX_LOGS_DIR}${M}/nginx_access_${D}.log
    else
        echo 'www域名下nginx_access.log不文件存在'
    fi
    
    if [ -f "$WWW_NGINX_ERROR_LOG" ]; then
        echo 'www域名下nginx_error.log文件存在,开始裁剪日志'
        if [ ! -d "$WWW_NGINX_LOGS_DIR$M" ]; then
          mkdir -p "$WWW_NGINX_LOGS_DIR$M"
          echo '文件夹创建成功'
        fi
        mv ${WWW_NGINX_ERROR_LOG} ${WWW_NGINX_LOGS_DIR}${M}/nginx_error_${D}.log
    else
        echo 'www域名下nginx_error.log不文件存在'
    fi
    
    # 裁剪database域名下的nginx日志
    if [ -f "$DATABASE_NGINX_ACCESS_LOG" ]; then
        echo 'database域名下nginx_access.log存在,开始裁剪日志'
        if [ ! -d "$DATABASE_NGINX_LOGS_DIR$M" ]; then
          mkdir -p "$DATABASE_NGINX_LOGS_DIR$M"
          echo '文件夹创建成功'
        fi
        mv ${DATABASE_NGINX_ACCESS_LOG} ${DATABASE_NGINX_LOGS_DIR}${M}/nginx_access_${D}.log
    else
        echo 'database域名下nginx_access.log不存在'
    fi
    
    if [ -f "$DATABASE_NGINX_ERROR_LOG" ]; then
        echo 'database域名下nginx_error.log存在,开始裁剪日志'
        if [ ! -d "$DATABASE_NGINX_LOGS_DIR$M" ]; then
          mkdir -p "$DATABASE_NGINX_LOGS_DIR$M"
          echo '文件夹创建成功'
        fi
        mv ${DATABASE_NGINX_ERROR_LOG} ${DATABASE_NGINX_LOGS_DIR}${M}/nginx_error_${D}.log
    else
        echo 'database域名下nginx_error.log不存在'
    fi
    
    kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
    

    执行命令crontab -e将脚本添加到crontab任务中

    00 00 * * * /bin/bash /data/logs/cut_nginx_log.sh
    

  • 相关阅读:
    BT656跟BT1120和BT709有什么区别 分类: 生活百科 HI3531 2013-11-26 09:03 1320人阅读 评论(0) 收藏
    plx9030触发pci中断 分类: 浅谈PCI 2013-11-15 17:52 634人阅读 评论(2) 收藏
    如何把任意文件隐藏在一张图片里? 分类: DirectX 2013-11-15 16:05 524人阅读 评论(0) 收藏
    如何使用系统设备枚举器 分类: DirectX 2013-11-15 16:03 707人阅读 评论(0) 收藏
    利用 DirectShow 开发自己的 Filter 分类: DirectX 2013-11-15 16:01 686人阅读 评论(0) 收藏
    做好口碑营销需要抓住的四条法则
    情绪管理的误区
    20年,一张卡和一个时代
    消费税悄然扩围 行业协会忙协商
    一个投顾团队的股灾记忆
  • 原文地址:https://www.cnblogs.com/mengyilingjian/p/11997208.html
Copyright © 2020-2023  润新知