服务器技术

 首页 > 服务器技术 > apache > apache中与日志有关的模块|--enable-module-Apache教程

apache中与日志有关的模块|--enable-module-Apache教程

分享到:
【字体:
导读:
          ...

在维护服务器的工作中,日志占很大的一部分,本文详细介绍了apache服务器与日志相关的模块。 软件
mod_log_sql 把日志记到mysql中的模块  http://www.apache.org
apache  web服务器   http://www.apache.org

准备工作(安装apache)
./configure --prefix=/www/apache --disable-module=all --enable-module=alias
--enable-module=access --enable-module=auth --enable-module=log_config  --enable-module=log_agen
--enable-module=log_common
--enable-module=dir --enable-module=mime --enable-module=so
make
make install


Core模块,提供ErrorLog,LogLevel
ErrorLog /www/apache/logs/error_log #定义error log的存放位置
LogLevel warn  #定义error log的级别。只有满足级别的事件才被记录


log_config模块
LogFormat format [nickname]   #定义访问日志的格式
LogFormat "%{User-agent}i" agent   
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

LogFormat "%h %l %u %t "%r" %>;s %b" common
192.168.0.15 - - [26/Sep/2003:18:22:09 +0800] "GET / HTTP/1.1" 404 272

LogFormat中参数含义
   %a    访问者ip
   %A    local ip
   %B    不包括HTTP 头发送的数据字节数
   %b     以CLF格式表示的发送字节数
   %c     在response后的连接状态
   %f     请求的文件名
   %h     客户端host
   %H     请求使用的协议
   %m     请求的方法get,put...
   %P     提供服务的端口
   %p     为请求提供服务的子进程ID
   %r     请求的第一行
   %s     status/
   %u     remote user
   %U     请求的URL path
CustomLog  file|pipe  format
CustomLog  logs/access.log common
CustomLog  "|/bin/gzip -c >;>; logs/access.log.gz" common

mod_log_mysql模块
这个apache模块允许你把日志记录到mysql数据库中去。Combined Log Format格式会被记录到数据库中。
DSO方式安装该模块
# tar zxf mod_log_sql.tar.gz -C /usr/local/src  
# cd /usr/local/src/mod_log_sql
修改Makefile文件,修改下面的路径信息以符合你的安装
APACHEINSTALLED:  
APACHEHEADERS: 用'locate httpd.h'查找路径
MYSQLLIBRARIES: 用'locate libmysqlclient.so'查找路径
MYSQLHEADERS: 用'locate mysql.h'查找路径
#make dso
#make dsoinstall

为使用mod_log_mysql准备mysql
创建数据库accesslog
mysqladmin -u username -p create accesslog
mysql accesslog < /path/mod_log_sql/create_tables.sql
grant insert on accesslog.* to weblog@localhost identified by 'pass';


把下面两行加入httpd.conf
LoadModule sql_log_module libexec/mod_log_sql.so
AddModule mod_log_sql.c
LogSQLLoginInfo localhost weblog pass
LogSQLDatabase accesslog
LogSQLSocketFile /tmp/mysql.sock
LogSQLTransferLogTable access_log

重起服务
#apachectl restart   
ok!mod_log_sql的安装配置就到这里了。网站运行一段时间以后你可以从mysql数据库里获得访问日志了 《apache中与日志有关的模块》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Server/Apache/17971.html
分享到:
使用Apache的rewrite功能实现内部重定向|...
场景:实验室有一台机器(称为nat_server吧)拥有外网地址,在另外一台内部服务器上提供web服务(称之为web_server),我们想让外网的用户能够通过nat_server能够访问web_server。 实现方案 使用iptables的snat,dnat功能 使用ipfilter的map功能 使用apache的rewrite功能 优缺点: 方法1和2的是通过端口转发的功能来实现的,...
Subversion(SVN)版本控制安装使用指南|文...
Subversion是近期在开源社区中非常流行的一款版本控制软件,它是CVS的替代产物。 它的主要特征有: ·    CVS大部分的功能。 ·    支持“目录”级别的版本管理,并且解决了CVS中迟迟未能解决的文件重命名和移动等问题。甚至对文件或文件夹的属性都提供了版本管理。 ·    “提交(commit)”实现了真正意义上的原...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……