zoukankan      html  css  js  c++  java
  • Apache 日志的配置

        对于大访问量的网站,日志不可能只记录在一个文件里面,1万日志大概就有50M,还有一个可能就是你要跟踪用户的行为,可能需要一些额外的信息,怎么把这些东西记录到apache日志里面。apache提供了很出色的日志配置方式,具体的配置可以参考:http://httpd.apache.org/docs/2.0/logs.html 我这里只是简单的举一些例子。
       1。问题一:实现按照小时记录日志:
       apache 自带有一个rotatelogs 可以实现这个功能,查看一下他的help就知道使用的方法了。
       Usage: rotatelogs [-l] <logfile> {<rotation time in seconds>|<rotation size in megabytes>} [offset minutes from UTC]
    先看下面的例子:
    <VirtualHost *:80>
        ServerAdmin webmaster@myhost.com
        DocumentRoot /home/web/www
        ServerName myhost.com
    <Directory "/home/web/www">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order allow,deny
        Allow from all
    </Directory>
    CustomLog "|bin/rotatelogs logs/myhost_access_log_%Y_%m_%d_%H.log 3600 480" common
    </VirtualHost>
    logs/pma_access_log_%Y_%m_%d_%H.log  是文件名字,可以用占位符。
    3600 表示的是每个小时记录一次,这个单位是s
    480  表示和UTC时间差的分钟数目,我们是东八区要比他们早480分钟。

    2.问题2,我要记录一个用户的客户端的信息,并且每次用户访问,我都自动在浏览器里面写一个cookie,及时发现恶意攻击或者用于广告系统中防止作弊。
    首先启用apache 自带的user track 把 LoadModule usertrack_module modules/mod_usertrack.so前面的#去掉。
    linux用户的话,没有这个模块,那么就重新编译一下。
    配置如下的虚拟主机:
    <VirtualHost *:80>
        ServerAdmin webmaster@dummy-host2.domain
        DocumentRoot D:/web/htdocs
        ServerName localhost.com
        CookieTracking on
        CookieDomain .localhost.com
        CookieExpires "1 days"
        CookieStyle Cookie
    <Directory "D:/web/htdocs">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order allow,deny
        Allow from all
    </Directory>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" \"%{Cookie}i\"" mylogconfig
    CustomLog "|bin/rotatelogs logs/pma_access_log_%Y_%m_%d_%H.log 3600 480" mylogconfig
    </VirtualHost>

     CookieTracking on
     CookieDomain .localhost.com
     CookieExpires "1 days"
     CookieStyle Cookie
    这四句是设置cookie的属性的。
    这一句是设置日志的属性:
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" \"%{Cookie}i\"" mylogconfig
    日志的名字叫做mylogconfig。
  • 相关阅读:
    轻重搭配
    EF的优缺点
    使用bootstrap-select有时显示“Nothing selected”
    IIS发布 HTTP 错误 500.21
    js添加的元素无法触发click事件
    sql server查看表是否死锁
    sql server把一个库表的某个字段更新到另一张表的相同字段
    SQLSERVER排查CPU占用高的情况
    SQL server中如何按照某一字段中的分割符将记录拆成多条
    LINQ to Entities does not recognize the method 'System.DateTime AddDays(Double)' method, and this method cannot be translated into a store expression.
  • 原文地址:https://www.cnblogs.com/niniwzw/p/1231579.html
Copyright © 2011-2022 走看看