某公司网络技术人员培训资料(编辑修改稿)内容摘要:

dule modules/ LoadModule info_module modules/ LoadModule status_module modules/ LoadModule usertrack_module modules/ Apache 服务器的一个重要特性就是其模块化的结构,这不但表现为其能在编译时能通过新的模块加入新的功能,还表现为其模块可以动态加载入 服务程序中,而不必载入不需要的模块。 使用 Apache 的动态加载模块只需要设置好 LoadModule 和 AddModule 参数就可以了,这种特性就是 Apache 的 DSO( Dynamic Shared Object)特性,然而要想充分使用 DSO 特性仍然不是一个简单的事情,不适当的改动这里的设置就可能造成服务器不能正常启动。 因此如果不是要增加或减少服务器提供的功能,就不要 改动这里的设置。 模块名 功能 mod_access 提供基于主机的访问控制命令 mod_actions 能够运行基于 MIME 类型的 CGI 脚本或 HTTP 请求方法 mod_alias 能执行 URL 重定向服务 mod_asis 使文档能在没有 HTTP 头标的情况下被发送到客户端 mod_auth 支持使用存储在文本文件中的用户名、口令实现认证 mod_auth_db 支持使用 DB 文件存储基本 HTTP 认证 mod_auth_dbm 支持使用 DBM 文件存储基本 HTTP 认证 mod_auth_anon 允许以匿名方式访问需要认证的区域 mod_auth_digest 支持使用 MD5 加密方式认证 mod_autoindex 当缺少索引文件时,自动生成动态目录列表 mod_cern_meta 提供对元信息的支持 mod_cgi 支持 CGI mod_dir 能够重定向任何对不包括尾部斜杠字符命令的请求 mod_env 使你能够将环境变量传递给 CGI 或 SSI 脚本 mod_expires 让你确定 Apache 在服务器响应请求时如何处理 Expires mod_headers 能够操作 HTTP 应答头标 mod_imap 提供图形映射支持 mod_include 使支持 SSI mod_info 对服务器配置提供了全面的描述 mod_log_agent 允许在单独的日志文件中存储用户代理的信息 mod_log_config 支持记录日志 mod_log_referer 提供了将请求中的 Referer 头标写入日志的功能 mod_mime 用来向客户端提供有关文档的元信息 mod_negotiation 提供了对内容协商的支持 mod_setenvif 使你能够创建定制环境变量 mod_speling 使你能够处理含有拼写错误或大小写错误的 URL 请求 mod_status 允许管理员通过 WEB 管理 Apache mod_unique_id 为每个请求提供在非常特殊的条件下保证是唯一的标识 上面这些列表就显示了 Apache 服务器支持的一些常用模块,事实上很多模块是没有必要的,不必要模块不会被载入内存。 模块可以静态连接到 Apache 服务器内部,也可以这样 13 动态加载。 因而动态可加载的能力还是对性能有轻微的影响,因此可以重新编译 Apache,将自己所需要的功能编译进 Apache 服务器内部,可以让系统显得更为干净,效率也有轻微的提高。 通常仅仅为了这一个目的就重新编译 Apache 是没有必要的,如果需要增加其他特性而重新编译 Apache,不妨在增加其他模块的同时将所有的模块都静态连接入 Apache 服务器。 有的使用者更喜欢动态加载模块,那么也不妨全部都使用动态加载模块。 每个模块对应 Apache 服务器的一个特性。 详细解释每个模块的功能需要相当多的篇幅,其中比较重要的特性将在后面相应的地方中进行解释,而具体每个模块的功能及用法就需要查 看 Apache 的文档。 ExtendedStatus On Apache 服务器可以通过特殊的 HTTP 请求,来报告自身的运行状态,打开这个ExtendedStatus 参数可以让服务器报告更全面的运行状态信息。 (二)主服务器设置 Apache 服务器需要各种设置,以定义自己使用各种参数以提供 Web 服务。 对于使用虚拟主机的情况,除了在虚拟主机的定义项中覆盖的设置之外(有的设置必须重新定义),这里的设置也是虚拟主机的缺省设置。 Port 80 Port 定义了 Apache 使用的端口,标 准端口是 80。 ServerAdmin 配置文件中应该改变的也许只有 ServerAdmin, 这一项用于配置 WWW 服务器的管理员的 地址,这将在 HTTP 服务出现错误的条件下返回给浏览器,以便让 Web 使用者和管理员联系,报告错误。 习惯上使用服务器上的 webmaster 作为 WWW 服务器的管理员,通过邮件服务器的别名机制,将发送到 webmaster 的电子邮件发送给真正的 Web 管理员。 ServerName 缺省情况下,并 不需要指定这个 ServerName 参数,服务器将自动通过名字解析过程来获得自己的名字,但如果服务器的名字解析有问题(通常为反向解析不正确),或者没有正式的 DNS 名字,也可以在这里指定 IP 地址。 你千万不要随便设置一个名字,当 ServerName 设置不正确的时候,服务器不能正常启动。 这里所设置的名字必须能在 DNS 中正确解析。 DocumentRoot C:/Apache/htdocs DocumentRoot 定义这个服务器对外发布的超文本文档存放的路径,客户程序请求的URL 就被映射为这个目录 下的网页文件。 这个目录下的子目录,以及使用符号连接指出的文件和目录都能被浏览器访问,只是要在 URL 上使用同样的相对目录名。 DirectoryIndex 很多情况下, URL 中并没有指定文档的名字,而只是给出了一个目录名。 那么 Apache服务器就自动返回这个目录下由 DirectoryIndex 定义的文件,当然可以指定多个文件名字,系统会这个目录下顺序搜索。 当所有由 DirectoryIndex 指定的文件都不存在时, Apache 服务 14 器可以根据系统设置,生成这个目录下的所有文件列表, 提供用户选择。 此时该目录的访问控制选项中的 Indexes 选项( Options Indexes )必须打开,以使得服务器能够生成目录列表,否则 Apache 将拒绝访问。 AccessFileName .htaccess AccessFileName 定义每个目录下的访问控制文件的文件名,缺省为 .htaccess ,可以通过更改这个文件,来改变不同目录的访问控制限制。 TypesConfig conf/ TypeConfig 用于设置保存有不同的 MIME 类型数据的文件名。 DefaultType text/plain 如果 Web 服务器不能决定一个文档的缺省类型,这通常表示文档使用了非标准的后缀,那么服务器就使用 DefaultType 定义的 MIME 类型将文档发送给客户浏览器。 这里的设置为text/plain,这样设置的问题是,如果服务器不能判断出文档的 MIME,那么大部分情况下这个文档为一个二进制文档,但使用 text/plain 格式发送回去,浏览器将在内部打开它而不会提示保存。 因此建议将这个设置更改为 application/octetstream,这样浏览器将提示 用户进行保存。 MIMEMagicFile conf/magic 除了从文件的后缀出发来判断文件的 MIME 类型之外, Apache 还可以进一步分析文件的一些特征,来判断文件的真实 MIME 类型。 这个功能是由 mod_mime_magic 模块实现的,它需要一个记录各种 MIME 类型特征的文件,以进行分析判断。 上面的设置是一个条件语句,如果载入了这个模块,就必须指定相应的标志文件 magic 的位置。 HostnameLookups Off 通常连接时,服务器仅仅可以得到客户机的 IP 地址,如果要想获 得客户机的主机名,以进行日志记录和提供给 CGI 程序使用,就需要使用这个 HostnameLookups 选项,将其设置为 On 打开 DNS 反查功能。 但是这将使服务器对每次客户请求都进行 DNS 查询,增加了系统开销,使得反应变慢,因此缺省设置为使用 Off 关闭此选项。 关闭选项之后,服务器就不会获得客户机的主机名,而只能使用 IP 地址来记录客户。 ErrorLog logs/ LogLevel warn LogFormat %h %l %u %t \%r\ %s %b \%{Referer}i\ \%{UserAgent}i\ bined LogFormat %h %l %u %t \%r\ %s %b mon LogFormat %{Referer}i %U referer LogFormat %{Useragent}i agent CustomLog logs/ mon CustomLog logs/ referer CustomLog logs/ agent CustomLog logs/ bined 这里定义了系统日志的形式,对于服务器错误记录, 由 ErrorLog、 LogLevel 来定义不同的错误日志文件及其记录内容。 15 对于系统的访问日志,缺省使用 CustomLog参数定义日志的位置,缺省使用 bined 参数指定将所有的访问日志放在一个文件中,然而也可以将不同种类的访问日志放在不同的日志记录文件中,这是通过在 CustomLog 中指定不同的记录类型来完成的。 mon 表示普通的对单页面请求访问记录, referer 表示每个页面的引用记录,可以看出一个页面中包含的请求数, agent 表示 对客户机的类型记录,显然可以将现有的 bined 定义的设置行注释掉,并使用 mon、 referer 和 agent 作为 CustomLog 的参数,来为不同种类的日志分别指定日志记录文件。 显然, LogFormat 是用于定义不同类型的日志进行记录时使用的格式, 这里使用了以 %开头的宏定义,以记录不同的内容。 这些参数指定的文件使用的是相对路径,就是相对于 ServerRoot 的路径。 ServerSignature On 一些情况下,例如当客户请求的网页并不存在时,服务器将产生错误文档,缺 省情况下由于打开了 ServerSignature 选项,错误文档的最后一行将包含服务器的名字、 Apache 的版本等信息。 有的管理员更倾向于不对外显示这些信息,就可以将这个参数设置为 Off,或者设置为 Email,最后一行将替换为对 ServerAdmin 的 Email 提示。 Alias /icons/ C:/Apache/icons/ ScriptAlias /cgibin/ C:/Apache/cgibin/ Alias 参数用于将 URL 与服务器文件系统中的真实位置进行直接映射,一般的 文档将在DocumentRoot 中进行查询,然而使用 Alias 定义的路径将直接映射到相应目录下,而不再到DocumentRoot 下面进行查询。 因此 Alias 可以用来映射一些公用文件的路径,例如保存了各种常用图标的 icons 路径。 这样使得除了使用符号连接之外,文档根目录( DocumentRoot)外的目录也可以通过使用了 Alias 映射,提供给浏览器访问。 定义好映射的路径之后,应该需要使用 Directory 语句设置访问限制。 ScriptAlias 也是用于 URL 路径的映射,但与 Alias 的不同在于, ScriptAlias 是用于映射CGI 程序的路径,这个路径下的文件都被定义为 CGI 程序,通过执行它们来获得结果,而非由服务器直接返回其内容。 缺省情况下 CGI 程序使用 cgibin 目录作为虚拟路径。 Redirect oldURI newURL Redirect 参数是用来重写 URL 的,当浏览器访问服务器上的一个已经不存在的资源的时候,服务器返回给浏览器新的 URL,告诉浏览器从该 URL 中获取资源。 这主要用于原来存在于服务器上的文档,改变了位置之后,而又希望能使用老 URL 能访问到,以保持与以前的 URL 兼容。 AddType application/xdphp .php AddType application/xdphpsource .phps AddType 参数可以为特定后缀的文件指定 MIME 类型,这里的设置将覆盖 中的设置。 AddHandler cgiscript .cgi Ad。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。