• 企业级Nginx增加日志选项


    日志介绍

    目的:将用户的访问信息记录到指定的文件中由ngx_http_log_module模块负责

    访问日志参数:

    access_log:指定日志文件的路径和使用何种日志格式记录日志

    log_format:用来指定日志的格式

    可以放置标签段: main,http,server,location

    image

    日志格式

    image

    添加日志:

    sed -i '1 i error_log  logs/error.log  error;' /usr/local/nginx/conf/nginx.conf

    创建日志路径:

    mkdir -p /usr/local/nginx/logs

    配置访问日志(使用默认的配置)

    1. 配置log_format(在http中配置)

    sed -n '21,24p' nginx.conf.default    

    取出信息后添加都nginx.conf的http模块中(server之前)

    image

    2. 配置access_log(最好在虚拟主机里面配置,便于统计)

    默认配置:#access_log  logs/access.log  main;

    image

    放置位置:http  server location

    本机配置:在单独的虚拟域名的location后配置(注意封号)

    server {
            listen       80;
            server_name  www.etiantian.com etiantian.com;
            location / {
                root   html/etiantian;
                index  index.html index.htm;
            }
    access_log logs/access_etiantian.log main;
    }            # main 表示全局,所有的访问虚拟主机etianitian的都会打入

    3. 配置windows的hosts解析

    C:WindowsSystem32driversetc

    image

    4. 测试结果

    浏览器访问www.etiantian.com【注意,真实环境也有此IP,本次仅作实验用,记得恢复hosts文件】

    image

    关于日志的深入研究

      1. 高并发可以写入缓存

    access_log log/access_baobaotao.log main gzip buffer=32k flush=5s;

      2. nginx访问日志的轮询处理(日志按天分割)   -->推荐

    缘由:指定的访问日志长时间写入会导致文件过大而无法分析,可以使用切割脚本

    #!/bin/sh
    Dateformat=`date +%Y%m%d`
    Basedir="/usr/local/nginx"
    Nginxlogdir="$Basedir/logs"
    Logname="access_etiantian"
    [ -d $Nginxlogdir ] && cd $Nginxlogdir||exit 1
    [ -f ${Logname}.log ] || exit 1
    /bin/mv ${Logname}.log ${Dateformat}_${Logname}.log
    $Basedir/sbin/nginx -s reload
    
    

       3.切割脚本添加到定时任务

    crontab –e 
     00 00 * * * /bin/sh cut_nginx.sh &>/dev/null

    关于日志收集的工具

    自带:syslog  rsyslog

    开源:flume logstash scrible Awstats ELK

  • 相关阅读:
    JavaScript怎么让字符串和JSON相互转化
    golang怎么使用redis,最基础的有效的方法
    SmartGit过期后破解方法
    Mac下安装ElasticSearch
    浏览器滚动条拉底部的方法
    git 管理
    MAC远程连接服务器,不需要输入密码的配置方式
    centos6.5下使用yum完美搭建LNMP环境(php5.6) 无脑安装
    【笔记】LAMP 环境无脑安装配置 Centos 6.3
    vs2008不能创建C#项目的解决方法
  • 原文地址:https://www.cnblogs.com/ftl1012/p/9296183.html
Copyright © 2020-2023  润新知