apache的日志解析

apache的日志解析
apache的日志解析

监视并记录Apache网站服务器的运行

监视并记录Apache网站服务器的运行 LogFormat 指令承诺你告诉Apache你想要记录要求的哪些方面。而你仍需附加的指令来告诉Apache在哪里记录那些信息,这在下一章中将会介绍。下面的例子显示了两种最受欢迎的格式的配置:一般日志格式和整合日志格式。当Apache收到一个要求,他将会用相应的要求属性来替代以%为前缀的每一个域。假如您正在使用一般日志格式,您的日志文件里 尽管有附件提供日志格式的详尽索引,下表描述了一些最为重要的域: # %h: 客户端(例如,扫瞄器)向服务器发出连接要求时自己的当时的IP地址或域名(需开启HostNameLookups)。 # %u: 使用方式认证用户时,记录下的用户的编号。 # %t: 服务器同意到连接要求的时刻。 # %r: 客户端发出的原始连接要求中的文本信息,包含所使用的方法。 # %>s: 服务器应答扫瞄器后的返回状态代码,200表示要求成功。. # %b: 服务器应答扫瞄器发出的单个要求的回传对象的内容大小(字节为单位),不统计数据包头部字节。 整合日志格式在一般日志格式的基础上扩展出了两个附加的域。定义为: # %{Referer}i: 连接要求数据包包头,包含指向当前页面的文档关联信息。 # %{User-agent}i: 用户代理连接要求数据包包头,包含客户扫瞄器的信息。 创建一个自定义日志文件 您可能会想创建Apache自带以外的新的日志文件。下面的例子将运用CustomLog来创建一个新的日志文件,并储存由一个之前定义好的日志格式,即前一章提到的common,所定义的信息。您还能够用格式本身的定义来替换昵称。一个附加的,更为简单的指令是Transferlog,它只同意最后一个LogFormat指令提供的定义。

apache的日志解析总结版

web 服务器日志配置和分析详解
从某种程度上将”日志就是金钱”,因为通过日志能够分析出一个网站具有高流量,则广告商 愿意为其支付费用。对于所有的公司或 ICP 来说,除了要保证网站稳定正常的运行以外,一 个重要的问题就是网站访问量的统计和分析报表, 这对于了解和监控网站的运行状态, 提高 各个网站的服务能力和服务水平是必不可少的。而这些要求都可以通过对 Web 服务器日志 文件的统计和分析来实现。
一、
web 日志分析原理
web 服务器日志记录了 Web 服务器接收处理请求及运行时错误等各种原始信息。 通过对日志进 行统计、分析和综合,就能有效地掌握服务器的运行状况、发现和排除错误原因、了解客户访问 分布等,更好地加强系统的维护和管理。Web 服务模式主要有三个步骤: 服务请求,包含用户端的众多基本信息,如 IP 地址、浏览器类型、目标 URL 等。 服务响应,Web 服务器接收到请求后,按照用户要求运行相应的功能,并将信息返回给用户。 如果出现错误,将返回错误代码。 追加日志,服务器将对用户访问过程中的相关信息以追加的方式保存到日志文件中。如图 1 。
图 1 Web 服务模式主要有三个步骤
二、
Apache 日志的配置
1、日志类型 1.3 版本 Apache 的标准中规定了 4 类日志:

? ? ? ?
错误日志 访问日志 传输日志 Cookie 日志
其中:传输日志和 Cookie 日志被 Apache 2.0 认为已经过时。所以本文仅讨论错误日志 和访问日志。同时错误日志和访问日志被 Apache 2.0 默认设置。 错误日志包含: 获知失效链接 获知 CGI 错误 获知用户认证错误 访问日志包含: 访问服务器的远程机器的地址:可以得知浏览者来自何方 浏览者访问的资源:可以得知网站中的哪些部分最受欢迎 浏览者的浏览时间:可以从浏览时间(如工作时间或休闲时间)对网站内容进行调整 浏览者使用的浏览器:可以根据大多数浏览者使用的浏览器对站点进行优化 访问日志分类: 为了便于分析 Apache 的访问日志,Apache 的默认配置文件中,按记录的信息不同(用 不同格式昵称说明不同的信息)将访问日志分为 4 类: 普通日志格式(common log format,CLF)common 参考日志格式(referer log format)referrer 代理日志格式(agent log format)agent 2、配置访问日志命令 CustomLog 命令用来对服务器的请求进行日志记录。格式为: 格式 1:CustomLog 访问日志文件名 记录格式说明串|格式昵称 大多数日志分析软件都支持这种格式
记录客户访问站点的用户身份 结合以上三种日志信息
记录请求的用户代理
综合日志格式(combined log format)combined

Apache日志配置及查看方法

Apache日志配置及查看方法 一、apache日志按日期记录 在apache的配置文件中找到 ErrorLog logs/error_log CustomLog logs/access_log common Linux系统配置方法: 将其改为 ErrorLog “| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_error_log 86400 480″ CustomLog “| /usr/local/apache/bin/rotatelo gs /home/logs/www/%Y_%m_%d_access_log 86400 480″ common Windows系统下配置方法: #ErrorLog “|bin/rotatelogs.exe logs/vicp_net_error-%y%m%d.log 86400 480″#CustomLog “|bin/rotatelogs.exe logs/vicp_net_access-%y%m%d.log 86400 480″ common 第一次不知道设置480这个参数,导致日志记录时间和服务器时间相差8小时,原来是rotatelogs有一个offset参数,表示相对于UTC的时差分钟数,中国是第八时区,相差480分钟。86400是表示1天。 附rotatelogs说明

rotatelogs logfile [ rotationtime [ offset ]] | [ filesizeM ] 选项 logfile 它加上基准名就是日志文件名。如果logfile中包含?%?,则它会被视为用于的strftime(3)的格式字串;否则,它会被自动加上以秒为单位的.nnnnnnnnnn后缀。这两种格式都表示新的日志开始使用的时间。 rotationtime 日志文件回卷的以秒为单位的间隔时间 offset 相对于UTC的时差的分钟数。如果省略,则假定为0,并使用UTC时间。比如,要指定UTC时差为-5小时的地区的当地时间,则此参数应为-300。 filesizeM 指定回卷时以兆字节为单位的后缀字母M的文件大小,而不是指定回卷时间或时差。 二、设置apache日志记录格式 定制日志文件的格式涉及到两个指令,即LogFormat指令和CustomLog指令,默认httpd.conf文件提供了关于这两个指令的几个示例。

【精编范文】shell脚本分析log日志-范文模板 (12页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除! == 本文为word格式,下载后可方便编辑和修改! == shell脚本分析log日志 篇一:nginx日志分析解决方案 nginx日志分析解决方案- Awstats 很多PHP搭建的网站都在由apache转向了nginx。nginx的日志信息如何分析呢?当然你可以自己写一个,但是这里也推荐一款结果信息非常详尽的开源工具——Awstats,它基于perl编写,它的介绍如下: AWStats is a free powerful and featureful tool that generates advanced web, streaming, ftp or mail server statistics, graphically. This log analyzer works as a CGI or from command line and shows you all possible information your log contains, in few graphical web pages. It uses a partial information file to be able to process large log files, often and quickly. It can analyze log files from all major server tools like Apache log files (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar, IIS (W3C log format) and a lot of other web, proxy, wap, streaming servers, mail servers and some ftp servers. 点击这里去官方网站 第一步,日志的处理。 最好每天分割一下日志,一开始没注意这个工作,结果不久日志文件就上G了,很痛苦。分割日志很简单,首先把日志文件复制到别的地方,然后再通知 nginx重新生成日志就可以了。shell脚本如下: #!/bin/bash logs_path="/nginx/logs/" mv ${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").log

web服务器apache架构与原理

web服务器apache架构与原理 web服务器 在开始了解Apache前,我们先熟悉一下web服务器,因为apache也是web服务器的一种。 Web系统由客户端(浏览器)和服务器端两部分组成。Web系统架构也被称为B/S架构。最常见的Web服务器有Apache、IIS等,常用的浏览器有IE、Firefox、chrome等。当你想访问一个网页时,需要在浏览器的地址栏中输入该网页的URL(Uniform Resource Locator,简称为URL)地址,或者是通过超链接链接到该网页。浏览器会向该网页所在的服务器发送一个HTTP请求,服务器会对接收到的请求信息进行处理,然后将处理的结果返回给浏览器,最终将浏览器处理后的结果呈现给用户。 web服务器端的工作流程: (1)客户端发送请求 客户端(通过浏览器)和Web服务器建立TCP连接,连接建立以后,向Web服务器发出访问请求(如get)。根据HTTP协议,该请求中包含了客户端的IP地址、浏览器的类型和请求的URL等一系列信息。 (2)服务器解析请求 Web服务器对请求按照HTTP协议进行解码来确定进一步的动作,设计的内容有三鼐要点:方法(GET)、文档(/sample.html)、和浏览器使用的协议(HTTP/1.1)其中方法告诉服务器应完动的动作,GET方法的含义很明显是:服务器应定位、读取文件并将它返回给客户。 Web服务器软件现在就知道了,它应该找到文件/sample.html,并使用HTTP/1.1协议将内存返回给客户。信息是经过与请求到来相同的连接发出的,所以服务器不需要定们客户或创建新的连接。 (3)读取其它信息(非必须步骤)

Apache Directory Server使用指南

本教程是在笔者学习JNDI过程中,由于没有合适的免费服务器做为实验,给Sun的JNDI 教程的LDAP服务器使用的又是Sun的服务器,OpenLDAP又没有找到Windows的版本,所以就决定使用Apache的开源LDAP服务器---Apache Directory Server。下面是Apache 网站对Apache Directory Project的介绍: The Apache Directory Project provides directory solutions entirely written in Java. These include a directory server, which has been certified as LDAP v3 compliant by the Open Group (Apache Directory Server), and Eclipse-based directory tools (Apache Directory Studio). Apache Directory项目提供了用纯Java编写的目录解决方案,其中包含ApacheDS,即Apache Directory Server,它是一个被授权的LDAP v3的服务器。同时还包含基于Eclipse 的目录工具,即Apache Directory Studio。 ApacheDS基本用户参考指南,主要介绍了如何安装ApacheDS 1.0,通过不同的图形化客户端连接服务器,当然主要还是需要通过JNDI编程来实现服务器的连接,这部分内容在JNDI教程中进行介绍。同时介绍了如何操作目录服务中的数据以及将ApacheDS和其它软件进行集成。 Apache Directory Server简介 ApacheDS 1.0是一个由纯Java语言编写的开源LDAP服务器。ApacheDS具有可嵌入、可扩展、标准的遵守LDAP协议等特性,同时支持其他的网络协议,例如NTP和Kerberos。但是ApacheDS是一个LDAP服务器是最基本的。各个特性介绍如下: Embeddable means that it is possible to configure, start and stop ApacheDS from other Java components, especially application servers, and the server runs within the same VM. The solution has already been successfully embedded in Apache Geronimo, JBoss, and others. The fact that the server is embeddable is quite interesting, nevertheless you also have the deployment option to run the server standalone, for instance as a Windows service. Perhaps you know this situation from other LDAP servers open source (like OpenLDAP) as well as commercial ones (like Sun Java System Directory Server). This guide is dedicated to people that are new to ApacheDS. The guide concentrates on installing, configuring and running ApacheDS in a standalone configuration. Extendable means that the modern architecture of the solution provides many extension points. Write your own partitions to store directory data, interceptors to add functionality,(通过编写自定义分区来存储目录数据,编写自定义拦截器来增加功能。这些都

apache日志LogFormat参数说明

apache日志LogFormat参数说明 因为想要看到apache的日志记录用户请求某个页面所花的时间,需要添加额外参数才会记录,所以临时查了下哦..记下来了 在httpd.conf里可以看到一行这样的配置 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" common 的日志记录格式 请求本身的情况将通过在格式字符串中放置各种"%"转义符的方法来记录,它们在写入日志文件时,根据下表的定义进行转换: %a 远端IP地址 %A 本机IP地址 %B 除HTTP头以外传送的字节数 %b 以CLF格式显示的除HTTP头以外传送的字节数,也就是当没有字节传送时显示’-’而不是0。 %{Foobar}C 在请求中传送给服务端的cookieFoobar的内容。 %D 服务器处理本请求所用时间,以微为单位。 %{FOOBAR}e 环境变量FOOBAR的值 %f 文件名 %h 远端主机 %H 请求使用的协议 %{Foobar}i 发送到服务器的请求头Foobar:的内容。 %l 远端登录名(由identd而来,如果支持的话),除非IdentityCheck设为"On",否则将得到一个"-"。%m 请求的方法 %{Foobar}n 来自另一个模块的注解Foobar的内容。 %{Foobar}o 应答头Foobar:的内容。 %p 服务器服务于该请求的标准端口。 %P 为本请求提供服务的子进程的PID。 %{format}P 服务于该请求的PID或TID(线程ID),format的取值范围为:pid和tid(2.0.46及以后版本)以及hextid(需要APR1.2.0及以上版本) %q 查询字符串(若存在则由一个"?"引导,否则返回空串) %r 请求的第一行 %s 状态。对于内部重定向的请求,这个状态指的是原始请求的状态,—%>s则指的是最后请求的状态。%t 时间,用普通日志时间格式(标准英语格式) %{format}t 时间,用strftime(3)指定的格式表示的时间。(默认情况下按本地化格式) %T 处理完请求所花时间,以秒为单位。 %u 远程用户名(根据验证信息而来;如果返回status(%s)为401,可能是假的) %U 请求的URL路径,不包含查询字符串。 %v 对该请求提供服务的标准ServerName。 %V 根据UseCanonicalName指令设定的服务器名称。 %X 请求完成时的连接状态:X= 连接在应答完成前中断。 += 应答传送完后继续保持连接。 -= 应答传送完后关闭连接。

linux httpd apache配置文件详解

Apache的配置文件http.coif参数含义详解 1.基本配置: (2) 2.服务器的优化(MPM: Multi-Processing Modules) (3) 3.HTTP返头回信息配置: (5) 4.持久性连接设置 (5) 5.别名设置 (5) 6.CGI设置 (6) 7.个人主页的设置(public_html) (6) 8.日志的设置 (6) (1)错误日志的设置 (6) (2)访问日志设置 (6) 9.下面是一段访问日志的实例: (7) 10.虚拟主机的配置 (8) (1)基于IP地址的虚拟主机配置 (8) (2) 基于IP和多端口的虚拟主机配置 (8) (3)单个IP地址的服务器上基于域名的虚拟主机配置: (9) (4)在多个IP地址的服务器上配置基于域名的虚拟主机: (10) (5)在不同的端口上运行不同的站点 (10) (6)基于域名和基于IP的混合虚拟主机的配置: (11) 11.SSL加密的配置 (12) (1) conf/ssl.conf 配置文件中的主要参数配置如下: (12) (2) 创建和使用自签署的证书: (13) (3) 创建自己的CA(认证证书),并使用该CA来签署服务器的证书。 (13)

Apache的配置由httpd.coif文件配置,因此下面的配置指令都是在httpd.coif文件中修改。 主站点的配置(基本配置) 1.基本配置: ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。 PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。Listen 80 #服务器监听的端口号。 ServerName https://www.360docs.net/doc/7c18300183.html,:80 #主站点名称(网站的主机名)。 ServerAdmin admin@https://www.360docs.net/doc/7c18300183.html, #管理员的邮件地址。 DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。 以下是对主站点的目录进行访问控制: Options FollowSymLinks AllowOverride None Order allow,deny Allow from all 在上面这段目录属性配置中,主要有下面的选项: Options:配置在特定目录使用哪些特性,常用的值和基本含义如下: ExecCGI:在该目录下允许执行CGI脚本。 FollowSymLinks:在该目录下允许文件系统使用符号连接。 Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。 SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。 其它可用值和含义请参阅:https://www.360docs.net/doc/7c18300183.html,/Apache/ApacheManual/mod/core.html

apache的启动过程 原代码 分析

1./server/log.c 这个里面定义了ap_log_error()。 2./include/httpd.h 这个文件里面申明了基本的内容,如文件路径,字符串长度,等等。 3./server/listen.c 对于apache的httpd,有很多的技术,有MPM多任务并发处理(采用记分板),内存池,线程池。。。 1.在main()有一个for(;;)里面调用了ap_mpm_run。但这个循环里好象只执行了一次,而不是一直在循环。 2.在ap_mpm_run()里,有一个while (!restart_pending && !shutdown_pending)。这个循环每一秒就往返一次,一直执行,直到进程结束。如果是第一次启动,在这个循环里,会调用一个startup_children();在这里面又有一个循环调用make_child()产生初始数量的子进程。 3.在上面的while里,perform_idle_server_maintenance(pconf)会每1秒执行一次,如果你kill -9一个子进程,这个函数就起作用,再重新调用make_child()生成一个子进程。 4.如果执行httpd –k stop,那么ap_mpm_run()会返回错误,在main()就会跳出for(;;),进程退出。5.在make_child()里,有一个fork()调用产生子进程,然后在子进程里调用child_main()进行子进程的初始化处理。 linux-lncx:/home/apache/httpd-2.2.11/server # ls main.c main.c linux-lncx:/home/apache/httpd-2.2.11/server # int main(int argc, const char * const argv[]) { char c; int configtestonly = 0; const char *confname = SERVER_CONFIG_FILE; const char *def_server_root = HTTPD_ROOT; const char *temp_error_log = NULL; const char *error; process_rec *process; server_rec *server_conf; apr_pool_t *pglobal; apr_pool_t *pconf; apr_pool_t *plog; /* Pool of log streams, reset _after_ each read of conf */ apr_pool_t *ptemp; /* Pool for temporary config stuff, reset often */ apr_pool_t *pcommands; /* Pool for -D, -C and -c switches */ apr_getopt_t *opt; apr_status_t rv; module **mod; const char *optarg; APR_OPTIONAL_FN_TYPE(ap_signal_server) *signal_server; AP_MONCONTROL(0); /* turn off profiling of startup */ process = init_process(&argc, &argv); pglobal = process->pool; pconf = process->pconf; ap_server_argv0 = process->short_name; #if APR_CHARSET_EBCDIC if (ap_init_ebcdic(pglobal) != APR_SUCCESS) { destroy_and_exit_process(process, 1); } #endif apr_pool_create(&pcommands, pglobal); apr_pool_tag(pcommands, "pcommands"); ap_server_pre_read_config = apr_array_make(pcommands, 1, sizeof(char *)); ap_server_post_read_config = apr_array_make(pcommands, 1, sizeof(char *)); ap_server_config_defines = apr_array_make(pcommands, 1, sizeof(char *)); error = ap_setup_prelinked_modules(process); if (error) { ap_log_error(APLOG_MARK, APLOG_STARTUP|APLOG_EMERG, 0, NULL, "%s: %s", ap_server_argv0, error); destroy_and_exit_process(process, 1); } ap_run_rewrite_args(process);

log4j.properties 详解与配置步骤

log4j.properties 详解与配置步骤 一、入门实例 1.新建一个JAva工程,导入包log4j-1. 2.17.jar,整个工程最终目录如下 2、src同级创建并设置log4j.properties

3、设置日志内容 1.package com.mucfc; 2.import org.apache.log4j.Logger; 3./** 4. *@author linbingwen 5. *@2015年5月18日9:14:21 6. */ 7.public class Test { 8.private static Logger logger = Logger.getLogger(Test.class); 9. 10./** 11. * @param args 12. */ 13.public static void main(String[] args) { 14.// System.out.println("This is println message."); 15. 16.// 记录debug级别的信息

17. logger.debug("This is debug message."); 18.// 记录info级别的信息 19. https://www.360docs.net/doc/7c18300183.html,("This is info message."); 20.// 记录error级别的信息 21. logger.error("This is error message."); 22. } 23. 24.} 4、输出结果 (1)首先是控制台的信息 (2)再来看输出的文件 内容如下,发现已按照要求输出到对应的文档中去了。

Apache_日志配置及查看方法

Apache 日志配置及查看方法 有时候我们需要定制Apache默认日志的格式和内容,比如增加或减少日志所记录的信息、改变默认日志文件的格式等。本文介绍可以用日志记录的所有信息,以及如何设置Apache 使其记录这些信息。 一、定义日志格式 很久以前,日志文件只有一种格式,这就是“公共格式”,许多人已经习惯于使用这种格式。随后出现了定制日志格式,而且看起来定制日志格式更很受欢迎,即使公共日志格式本身也重新用定制日志格式定义。本文介绍的就是如何随心所欲地定制日志文件的格式、如何让日志文件记录自己想要的信息。 定制日志文件的格式涉及到两个指令,即LogFormat指令和CustomLog指令,默认httpd.conf文件提供了关于这两个指令的几个示例。 LogFormat指令定义格式并为格式指定一个名字,以后我们就可以直接引用这个名字。CustomLog指令设置日志文件,并指明日志文件所用的格式(通常通过格式的名字)。 LogFormat指令的功能是定义日志格式并为它指定一个名字。例如,在默认的 httpd.conf文件中,我们可以找到下面这行代码: LogFormat "%h %l %u %t \"%r\" %>s %b" common 该指令创建了一种名为“common”的日志格式,日志的格式在双引号包围的内容中指定。格式字符串中的每一个变量代表着一项特定的信息,这些信息按照格式串规定的次序写入到日志文件。 Apache文档已经给出了所有可用于格式串的变量及其含义,下面是其译文: %...a: 远程IP地址 %...A: 本地IP地址 %...B: 已发送的字节数,不包含HTTP头 %...b: CLF格式的已发送字节数量,不包含HTTP头。例如当没有发送数据时,写入‘-’而不是0。 %...{FOOBAR}e: 环境变量FOOBAR的内容 %...f: 文件名字 %...h: 远程主机 %...H 请求的协议 %...{Foobar}i: Foobar的内容,发送给服务器的请求的标头行。 %...l: 远程登录名字(来自identd,如提供的话) %...m 请求的方法 %...{Foobar}n: 来自另外一个模块的注解“Foobar”的内容

apache 配置 access_log 日志 格式 问题

apache配置access_log日志格式问题 要有效地管理Web服务器,就有必要反馈服务器的活动、性能以及出现的问题。Apache HTTP服务器提供了非常全面而灵活的日志记录功能。本文将阐述如何配置文件以及如何理解日志内容。 安全警告 任何人只要对Apache存放日志文件的目录具有写权限,也就当然地可以获得启动Apache的用户(通常是root)的权限,绝对不要随意给予任何人存放日志文件目录的写权限。细节请参见安全方面的提示。 另外,日志文件可能会包含未加转换的来自用户的信息,用户就有机会恶意插入控制符,所以处理原始日志时应该当心这个问题。 错误日志(Error Log) 错误日志是最重要的日志文件,其文件名和位置取决于ErrorLog指令。Apache httpd将在这个文件中存放诊断信息和处理请求中出现的错误,由于这里经常包含了出错细节以及如何解决,如果服务器启动或运行中有问题,首先就应该查看这个错误日志。 错误日志通常被写入一个文件(unix系统上一般是error_log,Windows和OS/2上一般是error.log)。在unix系统中,错误日志还可能被重定向到syslog或通过管道操作传递给一个程序。 错误日志的格式相对灵活,并可以附加文字描述。某些信息会出现在绝大多数记录中,一个典型的例子是: [Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test

其中,第一项是错误发生的日期和时间;第二项是错误的严重性,LogLevel 指令使只有高于指定严重性级别的错误才会被记录;第三项是导致错误的IP地址;此后是信息本身,在此例中,服务器拒绝了这个客户的访问。服务器在记录被访问文件时,用的是文件系统路径,而不是Web路径。 错误日志中会包含类似上述例子的多种类型的信息。此外,CGI脚本中任何输出到stderr的信息会作为调试信息原封不动地记录到错误日志中。 用户可以增加或删除错误日志的项。但是对某些特殊请求,在访问日志(access log)中也会有相应的记录,比如上述例子在访问日志中也会有相应的记录,其状态码是403,因为访问日志也可以定制,所以可以从访问日志中得到错误事件的更多信息。 在测试中,对任何问题持续监视错误日志是非常有用的。在 unix系统中,可以 这样做: tail -f error_log 访问日志(Access Log) CustomLog指令,LogFormat指令可以简化日志的内容。这里阐述如何配置服务器的访问日志。 实施日志管理,首先当然必须产生访问日志,然后才能分析日志从而得到有用的统计信息。日志分析不是Web服务器的职责,已超出本文的范畴,更多资料和有关分析工具的信息,可以查看Open Directory或Yahoo 。 不同版本的Apache httpd使用了不同的模块和指令来控制对访问的记录,包括mod_log_referer, mod_log_agent和TransferLog指令。现在,CustomLog 指令包含了旧版本中相关指令的所有功能。

Apache配置详解

Apache配置详解 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。 主站点的配置(基本配置) (1) 基本配置: ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。 PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。 Listen 80 #服务器监听的端口号。 ServerName https://www.360docs.net/doc/7c18300183.html,:80 #主站点名称(网站的主机名)。 ServerAdmin admin@https://www.360docs.net/doc/7c18300183.html, #管理员的邮件地址。 DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。 以下是对主站点的目录进行访问控制: Options FollowSymLinks AllowOverride None Order allow,deny Allow from all 在上面这段目录属性配置中,主要有下面的选项: Options:配置在特定目录使用哪些特性,常用的值和基本含义如下: ExecCGI: 在该目录下允许执行CGI脚本。 FollowSymLinks: 在该目录下允许文件系统使用符号连接。 Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。 SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。 其它可用值和含义请参阅:https://www.360docs.net/doc/7c18300183.html,/Apache/ApacheManual/mod/core.html#options AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定): None: 当AllowOverride被设置为None时。不搜索该目录下的.htaccess文件(可以减小服务器开销)。All: 在.htaccess文件中可以使用所有的指令。 其他的可用值及含义(如:Options FileInfo AuthConfig Limit等),请参看:https://www.360docs.net/doc/7c18300183.html,/Apache/ApacheManual/mod/core.html#AllowOverride Order:控制在访问时Allow和Deny两个访问规则哪个优先: Allow:允许访问的主机列表(可用域名或子网,例如:Allow from 192.168.0.0/16)。 Deny:拒绝访问的主机列表。 更详细的用法可参看:https://www.360docs.net/doc/7c18300183.html,/Apache/ApacheManual/mod/mod_access.html#order DirectoryIndex index.html index.htm index.php #主页文件的设置(本例将主页文件设置为:index.html,index.htm和index.php) (2) 服务器的优化(MPM: Multi-Processing Modules) apache2主要的优势就是对多处理器的支持更好,在编译时同过使用--with-mpm选项来决定apache2的工作模式。如果知道当前的apache2使用什么工作机制,可以通过httpd -l命令列出apache的所有模块,就可以知道其工作方式: prefork:如果httpd -l列出prefork.c,则需要对下面的段进行配置:

Apache日志详解

Apache日志详解 来源:Linux技术中坚站等级:默认等级 发布于2005-05-29 00:43 被读2395次【字体:大中小】 https://www.360docs.net/doc/7c18300183.html,/ 访问日志 错误日志 定制日志 日志分析 高级技术 想要知道什么人在什么时候浏览了网站的哪些内容吗?查看Apache的访问日志就可以知道。访问日志是Apache的标准日志,本文详细解释了访问日志的内容以及相关选项的配置。 访问日志的格式跳转到》》》错误日志日志分析高级技术定制日志 Apache内建了记录服务器活动的功能,这就是它的日志功能。这个《Apache日志》系列文章介绍的就是Apache的访问日志、错误日志,以及如何分析日志数据,如何定制Apache日志,如何从日志数据生成统计报表等内容。 如果Apache的安装方式是默认安装,服务器一运行就会有两个日志文件生成。这两个文件是access_log(在Windows上是access.log)和error_log(在Windows上是error.log)。采用默认安装方式时,这些文件可以在/usr/local/apache/logs下找到;对于Windows系统,这些日志文件将保存在Apache安装目录的logs子目录。不同的包管理器会把日志文件放到各种不同的位置,所以你可能需要找找其他的地方,或者通过配置文件查看这些日志文件配置到了什么地方。 正如其名字所示,访问日志access_log记录了所有对Web服务器的访问活动。下面是访问日志中一个典型的记录: 216.35.116.91 - - [19/Aug/2000:14:47:37 -0400] "GET / HTTP/1.0" 200 654 这行内容由7项构成,上面的例子中有两项空白,但整行内容仍旧分成了7项。 第一项信息是远程主机的地址,即它表明访问网站的究竟是谁。在上面的例子中,访

Apache服务器

8.3 Apache服务器 8.3.1 Apache概述 Apache是Internet上最流行的Web服务器软件,它安全、高效、稳定、适用于各种平台,关键它还是免费的和开发源代码的。从1995年开始直到今天,经过不断的发展,Apache 小组开发的Apache HTTPd服务器软件已经成为市场的领导者。在所有的Web服务器软件中,Apache占有绝对优势,远远领先于Microsoft的IIS服务器软件。 许多世界知名的网站都是基于Linux操作系统的,如yahoo、Hotmail等网站。在Linux 系统上架设Web服务器所使用的最多最广泛的软件就是Apache。它功能强大,高度稳定,与Linux配合得十分完美,是在Linux上构建Web站点时首选的方案。另外,也有Windows 平台下的Apache软件。可以到官方网站https://www.360docs.net/doc/7c18300183.html,免费下载Apache最新的版本。 8.3.2 Apache服务器的安装 在安装Red Hat Linux 9时,可以选择安装Apache服务器,而在Red Hat Linux 9中内置的Apache服务器版本为httpd-2.0.40-21,如果不知道是否已安装此版本的软件,可以使用下面的方法来判断。 [root@rh9 root]# rpm -qa httpd httpd-2.0.40-21.i386.rpm 如果看到上面的结果,则表示该软件已经安装。否则,需要找出第二张安装光盘,保存在RedHat/RPMS目录的httpd-2.0.40-21.i386.rpm。可以使用下面的命令进行安装。 [root@rh9 root]# mount /mnt/cdrom [root@rh9 root]# cd /mnt/cdrom/Red Hat/RPMS [root@rh9 root]# rpm -ivh httpd-2.0.40-21.i386.rpm 另外,为了使用图形化的Apache服务器管理工具,建议用户也安装redhat-config-httpd-1.0.1-18.i386.rpm软件包。 8.3.3 Apache服务器的基本配置 Apache的配置文件是包含了若干指令的纯文本文件,其文件名为httpd.conf,在Apache 启动时,会自动读取配置文件中的内容,并根据配置指令影响Apache服务器的运行。配置文件改变后,只有在下次启动或重新启动后才会生效。 配置文件中的内容分为注释行和服务器配置命令行。行首有“#”的即为注释行,注释不能出现在指令的后边,除了注释行和空行外,服务器会认为其他的行都是配置命令行。配置文件中的指令不区分大小写,但指令的参数通常是对大小写敏感的。对于较长的配置命令,行末可使用反斜杠“\”换行,但反斜杠与下一行之间不能有任何其他字符(包括空白)。可以使用apachectl或者httpd的命令行参数-t来检查配置文件中的错误,而无需启动Apache 服务器。 [root@rh9 root]# httpd -t httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName Syntax OK

相关主题
相关文档
最新文档