ServerType定义服务器的启动方式_第1页
ServerType定义服务器的启动方式_第2页
ServerType定义服务器的启动方式_第3页
ServerType定义服务器的启动方式_第4页
ServerType定义服务器的启动方式_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ServerType 定义服务器的启动方式ServerType定义服务器的启动方式,缺省值为独立方式standalone httpd 服务器将由其本身启动,并驻留在主机中监视连接要求。在Linux 下将在启动文件/etc/rc.d/rc.local/init.d/apache中自动启动 Web服务器,这种方 式是举荐设置。启动Apache服务器的另一种方式是inet方式,使用超级服务器inetd 监视连接要求并启动服务器。当需要使用 inetd 启动方式时,便需要更换为那个设置,并屏蔽 /etc/rc.d/rc.local/init.d/apache文件,以及更换/etc/inetd.con

2、f并重起inetd,那么Apache就能从inetd中启动了。ServerRoot /etc/httpdServerRoot用于指定守护进程httpd的运行名目,httpd在启动之后将自 动将进程的当前名目改变为那个名目,因此如果设置文件中指定的文件或 名目是相对路径,那么真实路径就位于那个ServerRoot定义的路径之下。LockFile /var/run/httpd.lock由于 httpd 会经常进行并发的文件操作, 就需要使用加锁的方式来保证文件操作不冲突,由于NFS文件系统在文件加锁方面能力有限,因此那个 名目应该是本地磁盘文件系统,而不应该使用 NFS 文件系统。 LockFil

3、e 参 数指定了 httpd 守护进程的加锁文件,一样不需要设置那个参数, Apache 服务器将自动在ServerRoot 下面的路径中进行操作。但如果ServerRoot 为NFS 文件系统,便需要使用那个参数指定本地文件系统中的路径。PidFile /var/run/httpd.pidPidFile 指定的文件将记录 httpd 守护进程的进程号,由于 httpd 能自动 复制其自身,因此系统中有多个httpd进程,但只有一个进程为最初启动的 进程,它为其他进程的父进程,对那个进程发送信号将阻碍所有的httpd进程。 PidFILE 定义的文件中就记录 httpd 父进程的进程号。Sco

4、reBoardFile logs/apache_runtime_statushttpd使用ScoreBoardFile来爱护进程的内部数据,因此通常不需要改 变那个参数,除非治理员想在一台运算机上运行几个Apache 服务器,这时每个Apache服务器都需要独立的设置文件 httpd.conf,并使用不同的ScoreBoardFileTimeout 300Timeout 定义客户程序和服务器连接的超时刻隔,超过那个时刻间隔(秒)后服务器将断开与客户机的连接。KeepAlive Off在 HTTP 1.0 中,一次连接只能作传输一次HTTP 要求,而 KeepAlive参数用于支持HTTP 1.

5、1 版本的一次连接、 多次传输功能, 如此就能够在一次连接中传递多个HTTP 要求。尽管只有较新的扫瞄器才支持那个功能,但依旧打开使用那个选项。MaxKeepAliveRequests 100MaxKeepAliveRequests 为一次连接能够进行的HTTP 要求的最大要求次数。将其值设为 0 将支持在一次连接内进行无限次的传输要求。事实上没有客户程序在一次连接中要求太多的页面,通常达不到那个上限就完成连接了。KeepAliveTimeout 15KeepAliveTimeout 测试一次连接中的多次要求传输之间的时刻,如果服务器差不多完成了一次要求,但一直没有接收到客户程序的下一次要求,

6、 在间隔超过了那个参数设置的值之后,服务器就断开连接。MinSpareServers 5MaxSpareServers 20在使用子进程处理HTTP要求的Web服务器上,由于要第一生成子进 程才能处理客户的要求,因此反应时刻就有一点延迟。然而, Apache服务 器使用了一个专门技术来摆脱那个咨询题,这确实是预先生成多个空余的子进程驻留在系统中,一旦有要求显现,就赶忙使用这些空余的子进程进行处理,如此就不存在生成子进程造成的延迟了。在运行中随着客户要求的增多,启动的子进程会随之增多,但这些服务器副本在处理完一次HTTP 要求之后并不赶忙退出, 而是停留在运算机中等待下次要求。 然而空余的 子进

7、程副本不能光增加不减少,太多的空余子进程没有处理任务,也占用服务器的处理能力,因此也要限制空余副本的数量,使其保持一个合适的数量,使得既能及时回应客户要求,又能减少不必要的进程数量。因此就能够使用参数MinSpareServers来设置最少的空余子进程数量, 以及使用参数MaxSpareServers来限制最多的闲暇子进程数量,余外的服 务器进程副本就会退出。按照服务器的实际情形来进行设置,如果服务器 性能较高,同时也被频繁访咨询,就应该增大这两个参数的设置。关于高 负载的专业网站,这两个值应该大致相同,同时等同于系统支持的最多服 务器副本数量,也减少不必要的副本退出。StartServers

8、 8StartServer渗数确实是用来设置httpd启动时启动的子进程副本数量, 那个参数与上面定义的 MinSpareServers和MaxSpareServers参数有关,差 不多上用于启动闲暇子进程以提升服务器的反应速度的。那个参数应该设置为前两个值之间的一个数值,小于MinSpareServers和大于MaxS pareServers都没有意义。MaxClients 2000在另一方面,服务器的能力如何讲是有限的,不可能同时处理无限多的连接要求,因此参数 Maxclient s就用于规定服务器支持的最多并发访咨 询的客户数,如果那个值设置得过大,系统在繁忙时不得不在过多的进程之间进行

9、切换来为太多的客户进行服务,如此对每个客户的反应就会减慢,并降低了整体的效率。如果那个值设置的较小,那么系统繁忙时就会拒绝一些客户的连接要求。当服务器性能较高时,就能够适当增加那个值的设置。关于专业网站,应该使用提升服务器效率的策略,因此那个参数不能超过硬件本身的限制,如果频繁显现拒绝访咨询现象,就讲明需要升级服务器硬件了。关于非专业网站,不太在意对客户扫瞄器的反应速度,或者认为反应速度较慢也比拒绝连接好,就也能够略微超过硬件条件来设置那 个参数。那个参数限制了 MinSpareServers和MaxSpareServers的设置,它们不 应该大于那个参数的设置。MaxRequestsPerC

10、hild 1000使用子进程的方式提供服务的 Web服务,常用的方式是一个子进程为一次连接服务,如此造成的咨询题确实是每次连接都需要生成、退出子进程的系统操作,使得这些额外的处理过程占据了运算机的大量处理能力。因此最好的方式是一个子进程能够为多次连接要求服务,如此就不需要这些生成、退出进程的系统消耗,Apache就采纳了如此的方式,一次连接终 止后,子进程并不退出,而是停留在系统中等待下一次服务要求,如此就极大的提升了性能。但由于在处理过程中子进程要持续的申请和开释内存,次数多了就会造成一些内存垃圾,就会阻碍系统的稳固性,同时阻碍系统资源的有效利用。因此在一个副本处理过一定次数的要求之后,就能

11、够让那个子进程副本退出,再从原始的 httpd 进程中重新复制一个洁净的副本,如此就能提升系统的稳固性。如此,每个子进程处理服务要求次数由MaxRe questPerChild定义。缺省的设置值为 30,那个值关于具备高稳固性特点的 Linux 系统来讲是过于保守的设置,能够设置为 1000甚至更高,设置为 0支持每个副本进行无限次的服务处理。LoadModule vhost_alias_module modules/mod_vhost_alias.soLoadModule bandwidth_moduleLoadModule throttle_moduleLoadModuleLoadModu

12、leLoadModuleLoadModuleLoadModuleLoadModulemodules/mod_bandwidth.somodules/mod_throttle.somodules/modenv.soenv_moduleconfig_log_module modules/mod_log_config.so agent_log_module modules/mod_log_agent.so referer_log_module modules/mod_log_referer.so mime_modulemodules/mod_mime.sonegotiation_module mod

13、ules/mod_negotiation.soLoadModule status_module LoadModule info_module LoadModule includes_module LoadModule autoindex_module LoadModule dir_module LoadModule cgi_module LoadModule asis_module LoadModule imap_module LoadModule action_module LoadModule userdir_module LoadModule alias_module LoadModul

14、e rewrite_module LoadModule access_module LoadModule auth_module LoadModule anon_auth_module LoadModule db_auth_module LoadModule expires_module LoadModule headers_module LoadModule setenvif_module LoadModule perl_module LoadModule php_module LoadModule php3_modulemodules/mod_status.so modules/mod_i

15、nfo.somodules/mod_include.so modules/mod_autoindex.so modules/mod_dir.so modules/mod_cgi.so modules/mod_asis.somodules/mod_imap.so modules/mod_actions.so modules/mod_userdir.so modules/mod_alias.so modules/mod_rewrite.somodules/mod_access.so modules/mod_auth.so modules/mod_auth_anon.so modules/mod_a

16、uth_db.somodules/mod_expires.so modules/mod_headers.somodules/mod_setenvif.somodules/libperl.somodules/mod_php.somodules/libphp3.soLoadModule php4_module LoadModule dav_module LoadModule roaming_module LoadModule ssl_module LoadModule put_module LoadModule python_modulemodules/libphp4.somodules/libd

17、av.somodules/mod_roaming.somodules/libssl.somodules/mod_put.somodules/mod_python.so/ClearModuleListAddModule mod_vhost_alias.c/ /AddModule mod_bandwidth.c/AddModule mod_throttle.c/ /AddModule mod_env.cAddModule mod_log_config.cAddModule mod_log_agent.cAddModule mod_log_referer.cAddModule mod_mime.cA

18、ddModule mod_negotiation.cAddModule mod_status.cAddModule mod_info.cAddModule mod_include.cAddModule mod_autoindex.cAddModule mod_dir.cAddModule mod_cgi.cAddModule mod_asis.cAddModule mod_imap.cAddModule mod_actions.cAddModule mod_userdir.cAddModule mod_alias.cAddModule mod_rewrite.cAddModule mod_ac

19、cess.cAddModule mod_auth.cAddModule mod_auth_anon.cAddModule mod_auth_db.cAddModule mod_expires.cAddModule mod_headers.cAddModule mod_so.cAddModule modsetenvif.c/AddModule mod_perl.c/AddModule mod_php.c/AddModule mod_php3.c/AddModule mod_php4.c/AddModule mod_dav.c/AddModule mod_roaming.c/ /AddModule

20、 mod_ssl.c/ /AddModule mod_put.c/ /AddModule mod_python.c/ /Apache服务器的一个重要特性确实是其模块化的结构,这不但表现为其能在编译时能通过新的模块加入新的功能,还表现为其模块能够动态加载入 http 服务程序中,而不必载入不需要的模块。使用 Apache 的动态加载模块只需要设置好Load Module 和 AddModule 参数就能够了,这种特性确实是Apache的DSO (Dynamic Shared Object)特性,然而要想充分使用 DSO 特性仍旧不是一个简单的情况,不适当的改动那个地点的设置就可能造成服务器不能正

21、常启动。因此如果不是要增加或减少服务器提供的功能,就不要改动那个地点的设置。上面这些列表就显示了 Linux下的缺省Apache服务器支持的模块,事 实上专门多模块是没有必要的,不必要模块可不能被载入内存。模块能够静态连接到 Apache 服务器内部,也能够如此动态加载,将Apache 的特性都编译成动态可加载模块是该 Port 的做法, 而不是 Apache 的缺省做法, 如 此就以牺牲专门小的性能的同时,带来极大的灵活性。因而动态可加载的能力依旧对性能有轻微的阻碍, 因此能够重新编译Apache,将自己所需要的功能编译进 Apache服务器内部,能够让系统显得 更为洁净,效率也有轻微的提升

22、。通常仅仅为了这一个目的就重新编译Apache是没有必要的,如果需要增加其他特性而重新编译 Apache,不妨在增 加其他模块的同时将所有的模块都静态连接入 Apache 服务器。 有的使用者 更喜爱动态加载模块,那么也不妨全部都使用动态加载模块。这些模块都被放置到/usr/local/apache/libexec,S目下,每个模块对应A pache服务器的一个特性。详细讲明每个模块的功能需要相当多的篇幅,其 中比较重要的特性将在后面相应的地点中进行讲明,而具体每个模块的功能及用法就需要查看Apache 的文档。/ /主服务器设置Apache服务器需要各种设置,以定义自己使用各种参数以提供We

23、b服务。关于使用虚拟主机的情形,除了在虚拟主机的定义项中覆盖的设置之 外(有的设置必须重新定义) ,那个地点的设置也是虚拟主机的缺省设置。Port 80Port定义了 Standalone模式下httpd守护进程使用的端口,标准端口是 80。那个选项只关于以独立方式启动的服务器才有效,关于以inetd 方式启动的服务器则在inetd.conf 中定义使用哪个端口。在Unix下使用80端口需要root权限,一些治理员为了安全的缘故,认为 httpd 服务器不可能没有安全漏洞,因而更情愿使用一般用户的权限来启动服务器,如此就不能使用 80 端口及其他小于 1024 的端口,而必须使用大于1024的

24、端口来启动httpd, 一样情形下8000或8080也是常用的 端口。而Apache httpd服务器本身能够在以root权限打开80端口后再改变 为一般用户身份进行运行,如此就减少了危险性,因而就不需要考虑那个安全咨询题。然而如果一般用户也想安装配置自己的 WWW 服务器,那么就不得不使用大于 1024 的端口。 Listen 80Listen 443Listen 参数能够指定服务器除了监视标准的 80 端口之外,还监视其他端口的HTTP要求。由于FreeBSD系统能够同时拥有多个IP地址,因此也 能够指定服务器只听取对某个BindAddress 的 IP 地址的 HTTP 要求。如果没有配

25、置这一项,则服务器会回应对所有 IP 的要求。即使使用了 BindAddress参数,使得服务器只回应对一个IP地址的要求,然而通过使用扩展的 Listen 参数,仍旧能够让HTTP 守护进程回应对其他IP地址的要求。现在Listen参数的用法与上面的第二个例子相同。这种比较复杂的用法要紧用于设置虚拟主机。此后能够用 VirtualHost 参数定义对不同 IP 的虚拟主机,然而这种用法是较早的 HTTP 1.0标准中设置虚拟主机的方法,每针对一个虚拟主机就需要一个IP 地址,实际上用处并不大。在 HTTP 1.1 中,增加了对单IP 地址多域名的虚拟主机的支持,使得虚拟主机的设置具备更大的意

26、义。User apacheGroup apacheUser和Group配置是Apache的安全保证,Apache在打开端口之后,就将其本身设置为这两个选项设置的用户和组权限进行运行,如此就降低了服务器的危险性。那个选项也只用于 Standalone模式,inetd模式在inet d.conf 中指定运行Apache 的用户。由于服务器必须执行改变身份的 setuid()操作, 因此初始进程应该具备root 权限,如果是使用非 root 用户来启动Aapche,那个配置就可不能发挥作用。缺省设置为nobody和nogroup,那个用户和组在系统中不拥有文件,保证了服务器本身和由它启动的 CGI

27、进程没有权限更换文件系统。在某些情形下, 例如为了运行CGI 与 Unix 交互, 也需要让服务器来访咨询服务器上的文件,如果仍旧使用nobody和nogroup,那么系统中将会显现属于 no body 的文件,这关于系统安全是不利的,因为其他程序也会以 nobody 和 n ogroup 的权限执行某些操作,就有可能访咨询这些 nobody 拥有的文件,造 成安全咨询题。一样情形下要为 Web服务设定一个特定的用户和组,同时 在那个地点更换用户和组设置。ServerAdmin rootlocalhost配置文件中应该改变的也许只有ServerAdmin, 这一项用于配置WWW 服务器的治理员

28、的 email 地址,这将在HTTP 服务显现错误的条件下返回给扫瞄器,以便让 Web使用者和治理员联系,报告错误。适应上使用服 务器上的webmaster作为WWW服务器的治理员,通过邮件服务器的不名 机制,将发送到webmaster的电子邮件发送给真正的 Web治理员。ServerName localhost缺省情形下,并不需要指定那个 ServerName参数,服务器将自动通过 名字解析过程来获得自己的名字,但如果服务器的名字解析有咨询题(通常为反向解析不正确) ,或者没有正式的 DNS 名字,也能够在那个地点指定IP地址。当ServerName设置不正确的时候,服务器不能正常启动。Do

29、cumentRoot /var/web/www/htmlDocumentRoot定义那个服务器对外公布的超文本文档存放的路径,客户程序要求的 URL 就被映射为那个名目下的网页文件。那个名目下的子名目,以及使用符号连接指出的文件和名目都能被扫瞄器访咨询,只是要在 URL 上使用同样的相对名目名。注意,符号连接尽管逻辑上位于根文档名目之下,但实际上能够位于运算机上的任意名目中,因此能够使客户程序能访咨询那些根文档名目之外的名目,这在增加了灵活性的同时但减少了安全性。Apache在名目的访咨询操纵中提供了 FollowSymLinks 选项来打开或关闭支持符号连接的特 性。Apache服务器能够针

30、对名目进行文档的访咨询操纵,访咨询操纵能够 通过两种方式来实现,一个是在设置文件httpd.conf (或access.conf中针对每个名目进行设置,另一个方法是在每个名目下设置访咨询操纵文件, 通常访咨询操纵文件名字为.htaccess。尽管使用这两个方式都能用于操纵扫瞄器的访咨询,然而使用配置文件的方法要求每次改动后重新启动 httpd 守护进程,比较不灵活,因此要紧用于配置服务器系统的整体安全操纵策略,而使用每个名目下的 .htaccess 文件设置具体名目的访咨询操纵更为灵活方便。Options FollowSymLinks AllowOverride None Directory

31、语句确实是用来定义名目的访咨询限制的,那个地点能够看出它的标准语法,为一个名目定义访咨询限制。上例的那个设置是针对系统的根名目进行的, 设置了承诺符号连接的选项 FollowSymLinks , 以 及使用AllowOverride None表示不承诺那个名目下的访咨询操纵文件来改 变那个地点进行的配置,这也意味着不用查看那个名目下的相应访咨询操纵文件。由于Apache对一个名目的访咨询操纵设置是能够被下一级名目继承的, 因此对根名目的设置将阻碍到它的下级名目。 注意由于 AllowOverrideNone的设置,使得Apache服务器不需要查看根名目下的访咨询操纵文件, 也不需要查看以下各级

32、名目下的访咨询操纵文件,直至httpd.conf (或 access.conf )中为某个名目指定了承诺Alloworride ,即承诺查看访咨询操纵文件。由于Apache对名目访咨询操纵是采纳的继承方式,如果从根名目就承 诺查看访咨询操纵文件,那么Apache就必须一级一级的查看访咨询操纵文 件,对系统性能会造成阻碍。而缺省关闭了根名目的那个特性,就使得 Ap ache从httpd.conf中具体指定的名目向下搜寻,减少了搜寻的级数,增加了 系统性能。因此关于系统根名目设置 AllowOverride None不但关于系统安 全有关心,也有益于系统性能。Options Indexes Fol

33、lowSymLinksAllowOverride NoneOrder allow,deny Allow from all 那个地点定义的是系统对外公布文档的名目的访咨询设置,设置 不同的AllowOverride选项,以定义配置文件中的名目设置和用户名目下的 安全操纵文件的关系,而Options选项用于定义该名目的特性。配置文件和每个名目下的访咨询操纵文件都能够设置访咨询限制,设置文件是由治理 员设置的,而每个名目下的访咨询操纵文件是由名目的属主设置的,因此 治理员能够规定名目的属主是否能覆盖系统在设置文件中的设置,这就需 要使用AllowOverride参数进行设置,通常能够设置的值为:Al

34、lowOverride 的设置对每个名目访咨询操纵文件作用的阻碍All缺省值,使访咨询操纵文件能够覆盖系统配 置None服务器忽略访咨询操纵文件的设置Options承诺访咨询操纵文件中能够使用Options参数定义名目的选项FileInfo承诺访咨询操纵文件中能够使用AddType等参数设置AuthConfig承诺访咨询操纵文件使用AuthName , AuthType等针对每个用户的认证机制,这使 名目属主能用口令和用户名来爱护名目 Limit承诺对访咨询名目的客户机的IP地址和名字进行限制。每个名目具备一定属性,能够使用Options来操纵那个名目下的一 些访咨询特性设置,以下为常用的特性

35、选项:Options 设置服务器特性设置All所有的名目特性都有效,这是缺省状态None所有的名目特性都无效FollowSymLinks承诺使用符号连接,这将使扫瞄器有可能访咨询义档根名目(DocumentRoot)之外的文档SymLinksIfOwnerMatch 只用符号连接的目的与符号连接本身为同一用户所拥有时, 才承诺访咨询,那个设置将增加一些安全性。ExecCGI承诺那个名目卜能够执行CGI程序Indexes承诺扫瞄器能够生成那个名目下所有文件的 索引,使得在那个名目卜没有 index.html (或 其他索引文件)时,能向扫瞄器发送那个名 目卜的文件列表。止匕外,上例中还使用了 O

36、rder、Allow、Deny等参数,这是Limit语 句中用来按照扫瞄器的域名和IP地址来操纵访咨询的一种方式。其中 Order定义处理Allow和Deny的顺序,而Allow、Deny则针对名字或IP进行 访咨询操纵设置,上例使用allowfrom all,表示承诺所有的客户机访咨询 那个名目,而不进行任何限制。/UserDir public_html/DirectoryIndex index.html index.htm index.shtml index.php index.php4 index.php3 index.phtml index.cgi index.htm1专门多情形下,U

37、RL中并没有指定文档的名字,而只是给出了一 个名目名。那么Apache服务器就自动返回那个名目下由DirectoryIndex定义的文件,因此能够指定多个文件名字,系统会那个名目下顺序搜索。当 所有由DirectoryIndex指定的文件都不存在时,Apache服务器能够按照系 统设置,生成那个名目下的所有文件列表,提供用户选择。现在该名目的 访咨询操纵选项中的Indexes选项(Options Indexes )必须打开,以使得服 务器能够生成名目列表,否则 Apache将拒绝访咨询。/AccessFileName .htaccessAccessFileName定义每个名目下的访咨询操纵文件

38、的文件名,缺 省为.htaccess, 能够通过更换那个文件, 来改变不同名目的访咨询操纵限制。/ /Order allow,denyDeny from allSatisfy All除了能够针对名目进行访咨询操纵之外,还能够按照文件来设置访咨询操纵,这确实是File 语句的任务。使用 File 语句,不管文件处于哪个名目,只要名字匹配, 就必须同意相应的访咨询操纵。那个语句关于系统安全比较重要,例如上例将屏蔽所有的使用者不能访咨询.htacces蚊件,如此 就幸免.htaccess中的关键安全信息不至于被客户猎取。/ /CacheNegotiatedDocs缺省情形下如果代理服务器和Apach

39、e服务器协商是否缓存其网页,Apache给予否定的回答,不期望自己的网页被代理服务器缓存。然而如此就 不能有效的利用代理服务器的优势,因此能够设置CacheNegotiatieDocs 选项, 使得代理服务器能够对网页进行缓存。然而即使不设置那个选项,有的代理服务器(或通过调整设置)也能对网页进行缓存。/ /UseCanonicalName On打开那个UseCanonicalNameM Web服务器的标准做法,因为客户发送 的大部分要求差不多上对本服务器的引用,如此服务器就能使用 ServerNa me和Port选项的设置内容构建完整的 URL,并回应客户,使扫瞄器能得到规范的URL。如果将

40、那个参数设置为 Of,那么Apache将使用从客户要求中获得服务器的名字和端口值 (支持 HTTP 1.1 的客户的要求中将会有这些信息) ,重新构建URL 。/ /TypesConfig /etc/mime.typesTypeConfig 用于设置储存有不同的 MIME 类型数据的文件名,在Linux 下缺省设置为/usr/local/apache/etc/mime.types。/ /DefaultType text/plain如果Web服务器不能决定一个文档的缺省类型,这通常表示文档使用 了非标准的后缀,那么服务器就使用DefaultType定义的MIME类型将文档 发送给客户扫瞄器。那个

41、地点的设置为text/plain ,如此设置的咨询题是,如果服务器不能判定出文档的 MIME ,那么大部分情形下那个文档为一个二进制文档,但使用 text/plain 格式发送回去,扫瞄器将在内部打开它而可不能提示储存。因此建议将那个设置更换为application/octet-streamn,如此扫瞄器将提示用户进行储存。/ /MIMEMagicFile conf/magic除了从文件的后缀动身来判定文件的MIME类型之外,Apache还能够进一步分析文件的一些特点,来判定文件的真实 MIME 类型。那个功能是 由 mod_mime_magic 模块实现的,它需要一个记录各种 MIME 类型

42、特点的文件,以进行分析判定。上面的设置是一个条件语句,如果载入了那个模块,就必须指定相应的标志文件magic 的位置。/HostnameLookups Off通常连接时,服务器仅仅能够得到客户机的 IP 地址,如果要想获得客户机的主机名,以进行日志记录和提供给CGI 程序使用,就需要使用那个HostnameLookups 选项,将其设置为 On 打开 DNS 反查功能。然而这将使服务器对每次客户要求都进行DNS 查询,增加了系统开销, 使得反应变慢,因此缺省设置为使用 Off 关闭此选项。 关闭选项之后, 服务器就可不能获得客户机的主机名,而只能使用IP 地址来记录客户。/ErrorLog l

43、ogs/error_logLogLevel warnLogFormat %h %l %u %t %r %s %b %Refereri %User-Agenti combinedLogFormat %h %l %u %t %r %s %b commonLogFormat %Refereri - %U refererLogFormat %User-agenti agentCustomLog logs/access_log combined那个地点定义了系统日志的形式,关于服务器错误记录, 由 Erro rLog 、 LogLevel 来定义不同的错误日志文件及其记录内容。关于系统的访咨询日志,缺省

44、使用CustomLog参数定义日志的位置,缺省使用 combined 参数指定将所有的访咨询日志放在一个文件中,然而也能够将不同种类的访咨询日志放在不同的日志记录文件中,这是通过在CustomLog中指定不同的记录类型来完成的。common表示一般的对 单页面要求访咨询记录,referer表示每个页面的引用记录,能够看出一个 页面中包含的要求数,agent表示对客户机的类型记录,明显能够将现有的 combined 定义的设置行注释掉,并使用 common、referer和 agent作为 Cus tomLog 的参数,来为不同种类的日志分不指定日志记录文件。明显, LogFormat 是用于定

45、义不同类型的日志进行记录时使用的格式, 那个地点使用了以%开头的宏定义,以记录不同的内容。如果这些参数指定的文件使用的是相对路径, 那么确实是有关于ServerRoot 的路径。/ServerSignature On一些情形下,例如当客户要求的网页并不存在时,服务器将产生错误文档,缺省情形下由于打开了ServerSignature选项,错误文档的最后一行将包含服务器的名字、 Apache 的版本等信息。有的治理员更倾向于不对外显示这些信息,就能够将那个参数设置为 Off ,或者设置为Email ,最后一行将替换为对ServerAdmin 的 Email 提示。/Alias /icons/ /v

46、ar/web/www/icons/Options Indexes MultiViewsAllowOverride NoneOrder allow,denyAllow from allScriptAlias /cgi-bin/ /var/web/www/cgi-bin/AllowOverride NoneOptions NoneOrder allow,denyAllow from allAlias 参数用于将URL 与服务器文件系统中的真实位置进行直截了当映射,一样的文档将在DocumentRoot 中进行查询,然而使用 Alias 定义的路径将直截了当映射到相应名目下,而不再到 Documen

47、tRoot 下面进行查询。因此 Alias 能够用来映射一些公用文件的路径,例如储存了各种常用图标的icons路径。如此使得除了使用符号连接之外,文档根名目( Documen tRoot )外的名目也能够通过使用了 Alias 映射,提供给扫瞄器访咨询。定义好映射的路径之后, 应该需要使用 Directory 语句设置访咨询限制。ScriptAlias 也是用于 URL 路径的映射,但与 Alias 的不同在于, Scri ptAlias 是用于映射CGI 程序的路径,那个路径下的文件都被定义为 CGI程序,通过执行它们来获得结果,而非由服务器直截了当返回其内容。缺 省情形下 CGI 程序使用

48、 cgi-bin 名目作为虚拟路径。/ /Redirect old-URI new-URLRedirect参数是用来重写URL的,当扫瞄器访咨询服务器上的一 个差不多不存在的资源的时候,服务器返回给扫瞄器新的 URL ,告诉扫瞄 器从该 URL 中猎取资源。这要紧用于原先存在于服务器上的文档,改变了 位置之后,而又期望能使用老URL 能访咨询到,以保持与往常的 URL 兼容。/ /IndexOptions FancyIndexing NameWidth=*AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzi pAddIco

49、nByType (TXT,/icons/text.gif) text/*AddIconByType (IMG,/icons/image2.gif) image/*AddIconByType (SND,/icons/sound2.gif) audio/*AddIconByType (VID,/icons/movie.gif) video/*AddIcon /icons/binary.gif .bin .exeAddIcon /icons/binhex.gif .hqxAddIcon /icons/tar.gif .tarAddIcon /icons/world2.gif .wrl .wrl.gz

50、 .vrml .vrm .ivAddIcon /icons/compressed.gif .Z .z .tgz .gz .zipAddIcon /icons/a.gif .ps .ai .epsAddIcon /icons/layout.gif .html .shtml .htm .pdfAddIcon /icons/text.gif .txtAddIcon /icons/c.gif .cAddIcon /icons/p.gif .pl .pyAddIcon /icons/f.gif .forAddIcon /icons/dvi.gif .dviAddIcon /icons/uuencoded

51、.gif .uuAddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tclAddIcon /icons/tex.gif .texAddIcon /icons/bomb.gif coreAddIcon /icons/back.gif .AddIcon /icons/hand.right.gif READMEAddIcon /icons/folder.gif 八八DIRECTORY八八AddIcon /icons/blank.gif BLANKICON”DefaultIcon /icons/unknown.gifReadmeName READM

52、EHeaderName HEADERIndexIgnore .?* * *# HEADER* README* RCS CVS *,v *当一个 HTTP 要求的 URL 为一个名目的时候,服务器返回那个名目中 的索引文件。但如果一个名目中不存在缺省的索引文件,同时该服务器又许可显示名目文件列表的时候,就会显示出那个名目中的文件列表,为了使得那个文件列表能具有可明白得性,而不仅仅是一个简单的列表,就需要前面的这些设置参数。如果使用了 IndexOptions Fancyindexing选项,能够让服务器产生的名 目列表中针对各种不同类型的文档引用各种图标。而哪种文件使用哪种图标,则使用下面的 A

53、ddIconByEncoding 、 AddIconByType 以及 AddIcon 来 定义, 分不依据 MIME 的编码、 类型以及文件的后缀来判定使用何种图标。如果不能确定文档使用的图标,就使用 DefaultIcon 定义的缺省图标。同样, 使用 AddDescription 能够为不同类型的文档加入不同的描述。 同 时,服务器还在名目下,查询使用ReadmeNam段口 HeaderName定义的文件(自动加上.html 后缀,如果没有发觉,再使用 .txt 后缀进行搜索) ,如果发觉了这些文件,就在文件列表之前第一显示这些文件的内容,以使得一 般名目列表具备更大的可明白得性。Ind

54、exignore让服务器在列出文件列表时忽略相应的文件,那个地点使用模式配置的方式定义文件名。/ /AddEncoding x-compress ZAddEncoding x-gzip gz tgzAddLanguage da .dkAddLanguage nl .nlAddLanguage en .enAddLanguage et .eeAddLanguage fr .frAddLanguage de .deAddLanguage el .elAddLanguage he .heAddCharset ISO-8859-8 .iso8859-8AddLanguage it .itAddLang

55、uage ja .jaAddCharset ISO-2022-JP .jisAddLanguage kr .krAddCharset ISO-2022-KR .iso-krAddLanguage nn .nnAddLanguage no .noAddLanguage pl .poAddCharset ISO-8859-2 .iso-plAddLanguage pt .ptAddLanguage pt-br .pt-brAddLanguage ltz .luAddLanguage ca .caAddLanguage es .esAddLanguage sv .svAddLanguage cz .

56、czAddLanguage ru .ruAddLanguage zh-tw .twAddLanguage tw .twAddCharset Big5.Big5 .big5AddCharset WINDOWS-1251 .cp-1251AddCharset CP866.cp866AddCharset ISO-8859-5 .iso-ruAddCharset KOI8-R.koi8-rAddCharset UCS-2.ucs2AddCharset UCS-4.ucs4AddCharset UTF-8.utf8LanguagePriority en da nl et fr de el it ja k

57、r no pl pt pt-br ru ltz ca es sv twAddType application/x-tar .tgzAddType image/x-icon .icoAddType application/x-httpd-php .php .php4 .php3 .phtml .ht m1AddType application/x-httpd-php-source .phpsAddType application/x-httpd-php3 .php3AddType application/x-httpd-php3-source .phpsAddType application/x

58、-httpd-php .phtmlAddType text/html .shtmlAddHandler server-parsed .shtmlAddHandler imap-file mapAddEncoding 用于告诉一些使用压缩的 MIME 类型,如此能够让扫瞄器进行解压缩操作。一个 HTML 文档能够同时具备多个语言的版本, 如关于 file1.html 文档能够具备 file1.html.en、 file1.html.fr 等不同的版本, 每个语言后缀必须使用AddLanguage进行定义。如此服务器能够针对不同国家的客户,通过与扫瞄器进行协商, 发送不同的语言版本。 而 Lang

59、uagePriority 定义不同语言的 优先级,以便在扫瞄器没有专门要求时,按照顺序使用不同的语言版本回应对 file1.html 的要求。那个国际化的能力实际的应用并不多。AddType 参数能够为特定后缀的文件指定MIME 类型,那个地点的设置将覆盖 mime.types 中的设置。AddHandler 是用于指定非静态的处理类型,用于定义文档为一个非静态的文档类型,需要进行处理,再向扫瞄器返回处理结果。例如上面注释中的设置是将以.cgi结尾的文件设置为cgi-script类型,那么服务器将启动那个 CGI 程序以进行处理。如果需要在前面AliasScript 定义的路径之外执行 CGI

60、 程序,就需要使用那个参数进行设置,此后以 .cgi 结尾的文件将被当作CGI程序执行。在配置文件、那个名目中的.htaccess以及其上级名目的.htaccess中必须承诺执行 CGI程序,这需要通过 Options ExecCGI参数 设定。另外一种动态进行处理的类型为server-parsed, 由服务器自身预先分析网页内的标记,将标记更换为正确的 HTML标识。由于server-parse嚅要 对 text/html 类型的文档进行处理,因此第一定义了对应的 .shtml 为 text/ht ml 类型。然而要支持SSI,还要第一要在配置文件(或.htacces中使用Option s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论