【教学课件】第16章Web服务器.ppt

上传人:牧羊曲112 文档编号:5657953 上传时间:2023-08-06 格式:PPT 页数:60 大小:505KB
返回 下载 相关 举报
【教学课件】第16章Web服务器.ppt_第1页
第1页 / 共60页
【教学课件】第16章Web服务器.ppt_第2页
第2页 / 共60页
【教学课件】第16章Web服务器.ppt_第3页
第3页 / 共60页
【教学课件】第16章Web服务器.ppt_第4页
第4页 / 共60页
【教学课件】第16章Web服务器.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《【教学课件】第16章Web服务器.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第16章Web服务器.ppt(60页珍藏版)》请在三一办公上搜索。

1、第16章 Web服务器,16.1 Apache的安装16.2 Apache的配置16.3 虚拟Web服务器16.4 redhat-config-httpd,16.1 Apache的安装,16.1.1 编辑设置以为例,从上获取了包以后,在命令行执行下面的命令:tar zxvf这个命令会在当前目录下生成一个的目录。进入该目录,找到configure的文件。这是一个用来配置安装apache选项的脚本。运行下面的命令可以得到更多的可用选项:./configure helpConfigure的prefix=PATH就是用来更改根目录的位置,比如想把Apache根目录装在/usr/apache/下,那么:

2、./configure prefix=/usr/apache该命令将把所有Apache的文件安装在/usr/apache/目录下。,假如用户想将某些文件安装在其他的目录下面,那么可以使用下面的选项。(1)exec-prefix=DIR:将依赖于结构的文件安装在指定DIR目录下。(2)bindir=DIR:将执行的文件安装在指定DIR目录下。(3)sbindir=DIR:将系统管理员可执行的文件安装在指定DIR目录下。(4)libexecdir=DIR:将可执行的程序的文件安装在指定DIR目录下。(5)mandir=DIR:将帮助文档的文件安装在指定DIR目录下。(6)logfiledir=DI

3、R:将日志文件安装在指定DIR目录下。(7)proxycachedir=DIR:将代理缓存数据安装在指定DIR目录下。,16.1.2 编译和安装运行了configure脚本后,编译并安装Apache就相当简单了。确认当前目录为Apache源码包的根目录,即是。再运行make命令。如果一切正常,没有出现任何出错信息,那么就运行make install命令来安装Apache。如果在运行make时碰到了出错信息,那么查看错误信息,并重新按配置步骤再操作一遍。编译和安装还可以通过下面的命令把两个步骤在一起执行:#make;make install值得注意的是make install必须要用root用户

4、,除非把Apache安装在自己的用户目录下面。出现如下图所示的信息。则表示Apache已经安装成功了。,16.1.3 Apache和防火墙在很多Linux的发行版本中,默认都是启动了防火墙。如redhat,例如在选择中级防火墙的时候,需要添加一些规则,这样,这个服务才可以被外面访问。在redhat中,如需要开放80端口,可以做以下设置:#iptables I RH-Lokkit-0-50-INPUT 2 p udp m udp-dport 80 j ACCEPT#service iptables save这样,这个规则在计算机启动的时候自动加载。,16.2 Apache的配置,Apache服务

5、器的设置文件位于Apache根目录下的conf 目录下,传统上Apache使用了三个配置文件httpd.conf、access.conf 和srm.conf来配置Apache服务器。httpd.conf提供了最基本的服务器配置,是对守护程序httpd如何运行的描述;srm.conf是服务器的资源映射文件,告诉服务器各种文件的MIME类型,以及如何支持这些文件;access.conf用于配置服务器的访问权限,控制不同用户和计算机的访问限制。这三个配置文件控制着服务器的各个方面的特性,因此为了正常运行服务器便需要设置好这三个文件。除了这三个设置文件之外,Apache还使用mime.types文件用

6、于标识不同文件。,16.2.1 全局设置1.HTTP守护进程的运行模式ServerType定义服务器的启动方式,缺省值为独立方式standalone,httpd 服务器将由其本身启动,并驻留在主机中监视连接请求。在Linux下启动文件/etc/rc.d/rc.local/init.d/apache中自动启动Web服务器,这种方式是推荐设置。启动Apache服务器的另一种方式是inet方式,使用超级服务器inetd监视连接请求并启动服务器。当需要使用inetd启动方式时,便需要更改为此设置,以及更改/etc/inetd.conf并重启inetd,那么Apache就能从inetd中启动了。,两种方

7、式的区别是:独立方式是由服务器自身管理自己的启动进程,这样在启动时能立即启动服务器的多个副本,每个副本都驻留在内存中,一有连接请求不需要生成子进程就可以立即进行处理,对于客户浏览器的请求反应更快,性能较高。而 inetd方式要由inetd发现有连接请求后才去启动http服务器,由于inetd 要监听太多的端口,因此反应较慢、效率较低,但节约了没有连接请求时Web服务器占用的资源。因为一个页面可能包含很多个图像,而每个图像都会引发一个连接请求,即使访问人数不多,但瞬间的连接请求并不会少,这就受到inetd性能的限制,甚至会影响由inetd启动的其他服务器程序。,2.ServerRoot/usr/

8、local/apacheServerRoot是指定守护进程httpd的运行目录,httpd在启动之后自动将进程的当前目录改变为此目录。在本文件后面,如果出现的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的路径之下。由于httpd会经常进行并发的文件操作,就需要使用加锁的方式来保证文件操作不冲突,由于NFS文件系统在文件加锁方面能力有限,因此这个目录应该是本地磁盘文件系统,而不应该使用NFS文件系统。如果SeverRoot目录是NFS文件系统那么必须设置LockFile选项。3.LockFile/usr/local/apache/logs/httpd.lock LockF

9、ile参数指定了httpd守护进程的加锁文件,一般不需要设置这个参数,Apache服务器将自动在ServerRoot下面的路径中进行操作。但如果ServerRoot为NFS文件系统,便需要使用这个参数指定本地文件系统中的路径。,4.PidFile/usr/local/apache/logs/httpd.pidPidFile指定的文件将记录httpd守护进程的PID,因为每一连接都是该进程复制出来的子进程,对这个进程发送信号将影响所有的httpd进程。常用kill HUP PID来不断线重启httpd。5.ScoreBoardFile/var/run/httpd.scoreboardScoreB

10、oardFile是来维护进程的内部数据,通常不需要改变这个参数,除非需要在同一台机上运行几个Apache服务器,这时每个Apache服务器需要独立的设置文件httpd.conf,并使用不同的ScoreBoardFile。6.#ResourceConfig conf/srm.conf#AccessConfig conf/access.conf一般是不用打开ResourceConfig和AccessConfig这两个参数,前面说过了,新版本不再使用 srm.conf 和 access.conf 这两个设置文件。如果没有兼容的需要,可以将对应的设置文件指定为/dev/null或者null,表示不存在

11、其他设置文件,所有的设置选项仅保存在文件httpd.conf里。,7.Timeout 300Timeout定义客户程序和服务器连接的超时间隔,超过这个时间间隔(秒)后服务器将断开与客户机的连接。8.KeepAlive On在HTTP 1.0中,一次连接只能作传输一次HTTP请求,而KeepAlive参数用于支持HTTP 1.1版本的一次连接、多次传输功能,这样就可以在一次连接中传递多个HTTP请求。现在的浏览器都可以支持这个功能,因此最好打开使用这个选项。9.MaxKeepAliveRequests 100MaxKeepAliveRequests为一次连接可以进行的HTTP请求的最大次数。其值

12、设为0,表示在一次连接内允许无限次的HTTP请求。但是没有客户程序在一次连接中能请求这么多的页面,通常远远达不到这个上限,就已经完成连接了。10.KeepAliveTimeout 16KeepAliveTimeout 设置了一次连接中的多次请求传输之间间隔的最大时间。如果服务器已经完成了一次请求,但在间隔超过了这个参数设置的值之后,还没有接收到客户程序的下一次请求,那么服务器就断开连接。,11.MinSpareServers 5Apache服务器使用了一个特殊技术来解决这个问题,就是预先生成多个空余的子进程驻留在系统中(也就是前面提到的运行在standlone方式下),一旦有请求出现,就立即使

13、用这些空余的子进程进行响应请求,这样就不会因为生成子进程造成的延迟,影响了效率。在运行中随着客户请求的增多,启动的子进程随之增多,但这些服务器副本在处理完一次HTTP请求之后并不立即退出,而是停留在计算机中等待下次请求。太多的空余子进程,也占用CPU的处理时间,因此也要限制空余副本的数量,使其保持一个合适的数量,使得既能及时回应客户请求,又能减少不必要的进程数量。参数MinSpareServers正是设置最少的空余子进程数量,参数MaxSpareServers 来限制最多的空闲子进程数量,多余的服务器进程副本就会退出。根据服务器的实际情况来进行设置这两个参数,如果服务器性能较高,并且也被频繁访

14、问,就应该增大这两个参数的设置。,12.StartServers 5StartServers参数就是用来设置httpd启动时启动的子进程副本数量,这个参数与上面定义的MinSpareServers和MaxSpareServers参数意义相同,都是用来启动空闲子进程以提高服务器的反应速度的。这个参数应该设置为前两个值之间的一个数值,小于MinSpareServers和大于MaxSpareServers都没有实际意义。13.MaxClients 160参数Maxclients用于规定服务器支持的最多并发访问的客户数,该参数主要取决于硬件本身。如果这个值设置得过大,系统在繁忙时会造成每个客户的反应减

15、慢,并降低了整体的效率。如果这个值设置得较小,达到所设置的值时就会拒绝一些客户的连接请求。因此要视硬件和访问量来决定这个参数的大小。这个参数限制了MinSpareServers和MaxSpareServers的设置,它们不应该大于这个参数的设置。14.MaxRequestsPerChild 30 前面提到过,一个服务器副本处理完一次HTTP请求之后并不立即退出,而是驻留在内存里等待下一次请求。这样做的好处在于减少生成、退出子进程所消耗的CPU时间,提高系统的效率。但是在处理的过程中不断的申请和释放内存,次数多了就会产生一些内存垃圾,降低了机器的稳定性。MaxRequestPerChild就是定

16、义了一个子进程独步一时服务请求的次数。默认定义为30,对于Linux系统来说过于保守了,可以设置得高点。,15.#Listen 3000#Listen 12.34.56.78:80#BindAddress*Listen参数可以指定服务器除了监视标准的80端口之外,还监视其他端口的HTTP请求。由于系统可以同时拥有多个IP地址,因此也可以指定服务器只听取对某个BindAddress的IP地址的HTTP请求。如果没有配置这一项,则服务器会回应所有IP的请求。它们的语法分别是:Listen IP-address:portBindAddress*|IP-address|domain-name即使使用了

17、BindAddress参数,使得服务器只回应一个IP地址的请求,但是通过使用扩展的Listen参数,仍然可以让HTTP守护进程回应其他IP地址的请求。此时Listen参数的用法与上面的第二个例子相同。这种比较复杂的用法主要用于设置虚拟主机。有一点值得注意的是使用BindAddress的时候,如果BindAddress的参数是一个domain-name时,是可行的,但不建议这样做。因为如果是一个domain-name时,Apache启动时必须通过DNS的反向解析主机的IP地址,假如DNS出故障,反向解析出了问题,那么会导致Apache启动失败。,16.#Dynamic Shared Object

18、(DSO)SupportDSO是Apache的一个重要特性。用户可以使用LoadModule和AddModule来动态的为Apache加载新的特性,这样做的好处在于牺牲很少的效率得到很大的灵活性。可以用httpd l显示已经加载的模块。更多的DSO信息可以从http:/获取。17.#ExtendedStatus OnApache服务器可以通过特殊的HTTP请求来报告自身的运行状态,打开这个ExtendedStatus 参数可以让服务器报告更全面的运行状态信息。,16.2.2 主服务器设置1.Port 80Port定义了Standalone模式下httpd守护进程使用的端口,标准端口是80。这个

19、选项只对于以独立方式(standlone)启动才有效,对于以inetd方式启动则在inetd.conf中定义使用哪个端口。在Linux/Unix下使用低于1024端口需要具有root权限,若想以非root用户来启动Apache,那么必须使用大于1024的端口来启动httpd,一般情况下8000或8080也是常用的端口。2.User nobodyGroup#-1User和Group配置是Apache的安全保证,Apache在打开端口之后,就将其本身设置为这两个选项设置的用户和组权限进行运行,这样就降低了服务器的危险性。这个选项也只用于 Standalone模式,inetd模式在inetd.con

20、f中指定运行Apache的用户。,3.ServerAdmin youyour.address 这一参数用于设置WWW服务器的管理员的E-mail地址,这将在HTTP服务出现错误的条件下返回给浏览器,以便让Web使用者和管理员联系,报告错误。4.#ServerName ServerName就定义了Web服务器返回给浏览器的名字,在没有定义虚拟主机的情况下,服务器总是以这个名字回应浏览器(这里假设服务器的名字为)。缺省状态下,并不需要指定这个ServerName参数,服务器将自动通过名字解析过程来获得自己的名字,但如果服务器的名字解析有问题(通常为反向解析不正确),或者没有正式的DNS名字,也可以

21、在这里指定IP地址。当ServerName设置不正确的时候,服务器不能正常启动。,5.DocumentRoot/usr/local/apache/htdocsDocumentRoot定义这个服务器对外发布的超文本文档存放的路径,客户程序请求的URL就被映射为这个目录下的网页文件。该目录下的子目录以及使用符号连接指出的文件和目录都能被浏览器访问,只是要在URL上使用同样的相对目录名。6.Options FollowSymLinks AllowOverride NoneApache服务器通过两种方式对目录进行文档的访问控制,一个方法是在配置文件 httpd.conf(或access.conf)中针

22、对每个目录进行设置,另一个方法是在每个目录下设置访问控制文件,通常访问控制文件名字为.htaccess。,语句就是用来设置目录的访问权限的。Apache对一个目录的访问控制设置是被下一级目录继承的,因此对一个目录的设置将影响到它的下级目录。由于AllowOverride None的设置,使得Apache服务器不需要查看根目录下的访问控制文件,也不需要查看以下各级目录下的访问控制文件,直至httpd.conf(或access.conf)中为某个目录指定了。因为Apache对目录访问控制是采用继承方式,所以如果从根目录就允许查看访问控制文件,那么Apache就必须一级一级的查看访问控制文件,对系统

23、性能会造成影响。还要出了安全考虑,默认是关闭了根目录的这个特性。这样做的好处在于使得Apache从httpd.conf中具体指定打开此功能的目录开始向下搜寻,从而减少了搜寻的级数,增加了系统性能。,7.Options Indexes FollowSymLinks MultiViewsAllowOverride None 这里定义的是Apache系统对外发布文档的目录的访问设置,设置不同的 AllowOverride选项,以定义配置文件中的目录设置和用户目录下的安全控制文件的关系,而Options选项用于定义该目录的特性。设置文件(httpd.conf和access.conf)是由管理员设置的,

24、而每个目录下的访问控制文件(.htaccess)可以由目录的属主设置,AllowOverride参数正是用来规定目录的属主定义的访问控制文件是否能覆盖系统在设置文件中的设置,还有规定访问控制文件能控制哪些权限。,AllowOverride能设定下面的参数:AuthConfig允许访问控制文件使用AuthName、AuthType、AuthUserFile、require等针对每个用户的认证机制,这使目录属主能用口令和用户名来保护目录。Limit:允许对访问目录的客户机的IP地址和名字进行限制。Options:允许访问控制文件中可以使用Options参数定义目录的选项。FileInfo:允许访问

25、控制文件中可以使用AddType等参数设置。Indexes:当列出时,.htaccess文件可以本地设置控制描述目录索引的命令。就像在mod_dir.c模块中实现的那样,如控制FancyIndexing、AddIcon和AddDescription等命令。All:缺省值,使访问控制文件可以覆盖系统配置,即是允许上面的所有功能。None:服务器忽略访问控制文件的设置。,Options能设定下面的参数:FollowSymLinks允许使用符号连接,这将使浏览器有可能访问文档根目录(DocumentRoot)之外的文档SymLinksIfOwnerMatch只有符号连接的目的与符号连接本身为同一用户

26、所拥有时,才允许访问,这个设置将增加一些安全性。ExecCGI:允许这个目录下可以执行CGI程序。Indexes:允许浏览器可以生成这个目录下所有文件的索引,使得在这个目录下没有index.html(或其他索引文件)时,能向浏览器发送这个目录下的文件列表。此外,上例中还使用了Order、Allow、Deny等参数,这是Limit语句中用来根据浏览器的域名和 IP地址来控制访问的一种方式。其中Order定义处理Allow和Deny的顺序,而Allow、Deny则针对名字或IP进行访问控制设置,上例使用allow from all,表示允许所有的客户机访问这个目录,而不进行任何限制。相反deny

27、from all表示拒绝所有的访问。All:所有的目录特性都有效,这是缺省状态。None:所有的目录特性都无效。,8.UserDir public_html当在一台机器上运行了Apache服务器,这台机上的所有用户都可以有自己的网页路径,如 http:/user,使用波浪符号加上用户名就可以映射到用户自己的网页目录上。映射目录为用户个人主目录下的一个子目录,UseDir参数就是用来定义这个目录的名字。缺省为public_html。,9.AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwn

28、erMatch IncludesNoExec Order allow,deny Allow from all Order deny,allow Deny from all,Limit和LimitExcept的语法分别是:.method分别是:GET,POST,PUT,DELETE,CONNECT,OPTIONS,TRACE,PATCH,PROPFIND,PROPPATCH,MKCOL,COPY,MOVE,LOCK,and UNLOCK。这里的method指的是HTTP方式。,GET方式:向服务器发出获取一个页面的请求。HEAD方式:向服务器请求信息,并不是请求真正的数据。PUT方式:PUT方式

29、刚好和GET方式相反,是向服务器写入一个页面。它需要身份验证。POST方式:POST方式和PUT方式有些类似,但POST是将信息“添加”到已有的页面后。而PUT方式是“替换”或“生成”。DELETE方式:删除一个页面。它像PUT方式一样需要身份验证。LINK和UNLINK方式:允许从一个页面连接到另一个页面。Limit:限制了它指定的方式的访问权限。LimitExcept:限制了它指定的方式之外的其他方式的访问权限。,10.DirectoryIndex index.html很多情况下,URL中并没有指定文档的名字,而只是给出了一个目录名。当然可以同时指定多个文件名字,系统会在这个目录下顺序搜索

30、。如果所有由DirectoryIndex指定的文件都不存在时,Apache服务器可以根据系统设置,生成这个目录下的所有文件列表,供用户选择。但此时在该目录的访问控制选项中Options的Indexes参数(Options Indexes)必须打开,否则Apache将拒绝访问。11.AccessFileName.htaccessAccessFileName定义每个目录下的访问控制文件的文件名,缺省为.htaccess,可以通过更改这个文件来改变不同目录的访问控制限制,但前提就是AllowOverride的参数不能为None。,12.Order allow,deny Deny from all S

31、atisfy All除了可以针对目录进行访问控制之外,还可以根据File语句来设置文件访问控制。File的语法是:.filename 可以是一个文件名,同时也可以包含通配符,“?”和“*”。13.#CacheNegotiatedDocs缺省情况下如果代理服务器和Apache服务器协商是否缓存其网页,Apache给予否定的回答,不希望自己的网页被代理服务器缓存。然而这样就不能有效的利用代理服务器的优势,因此可以设置CacheNegotiatieDocs 选项,使得代理服务器可以对网页进行缓存。,14.UseCanonicalName On打开UseCanonicalName是Web服务器的标准做

32、法,因为客户发送的大部分请求都是对本服务器的引用,这样服务器就能使用ServerName和Port选项的设置内容构建完整的URL,并回应客户,使浏览器能得到规范的URL。如果将这个参数设置为Off,那么Apache将使用从客户请求中获得服务器的名字和端口值(支持HTTP 1.1的客户的请求中将会有这些信息)重新构建URL。15.TypesConfig/usr/local/apache/conf/mime.typesTypeConfig用于设置保存有不同的MIME类型数据的文件名,默认是/usr/local/apache/etc/mime.types。16.DefaultType text/pl

33、ain如果Apache不能决定一个文件的缺省类型,通常是因为文件使用了非标准的后缀,那么服务器就使用 DefaultType定义的MIME类型将文档发送给客户浏览器。这里的设置为text/plain,这样设置的问题是,如果你有很多文件是二进制文件,例如应用程序、图片,那么建议将这个设置更改为application/octet-stream。,17.MIMEMagicFile/usr/local/apache/conf/magic除了从文件的后缀出发来判断文件的MIME类型之外,Apache还可以通过mod_mime_magic 模块来进一步分析文件的特征,判断文件的真实MIME类型。它需要一个

34、记录各种MIME类型特征的文件。上面的设置是一个条件语句,如果载入了这个模块,就必须指出相应的标志文件magic的位置。18.HostnameLookups OffHostnameLookups 是用来设置日志是否记得客户机的主机名,还是它的IP,默认设置为使用Off关闭此选项。关闭选项之后,服务器就不会获得客户机的主机名,而只能使用IP地址来记录客户。同时如果打开此功能,那么进行DNS反查会消耗一定的系统资源。19.LogLevel warn指定记录Apache服务器错误日志文件的位置,如果在虚拟主机里面不指定日志文件的位置,那么虚拟主机的出错信息也将记录在这个文件。LogLevel是指定了

35、错误为何级别才被记录到日志文件。设置的级别有:debug,info,notice,warn,error,crit,alert,emerg设置了warn,出错日志将记录的信息级别为warn、error、crit、alert、emerg,默认设置warn是比较合适的。,20.LogFormat%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

36、 common#CustomLog logs/referer.log referer#CustomLog logs/agent.log agent#CustomLog logs/access.log combinedLogFormat定义了日志文件记录的格式。语法是:LogFormat format|nickname nickname,这里使用的是以%开头的宏定义。它们分别代表:%a:客户机的IP地址。%A:本地IP地址。%b:发给客户端的字节数。%f:请求URL引用的文件名。%h:远程主机(如果打开这个选项HostnameLookups,则记录主机名)。%H:应答协议。%(Foobar)i:

37、Foobar的内容:从客户到服务器的请求中的头部行。%(Foobar)o:Foobar的内容:服务器对客户的响应上的头部行。%l:通过identd的远程确认。%m:应答方法。%p:接收到请示的端号。%P:请示的服务器的进程号(PID)。%r:请求的第一行。%s:由请求而产生的服务器响应码。%t:用时间的普通日志文件格式。%u:如果访问控制规则要求用户/口令授权,这代表由客户提供用户口令。%U:客户请求URL。%v:按照DNS服务器的主机名和域名。%V:rpv ServerName指令,处理请求的服务器主机名和域名。,昵称(或者说是类型)则是为这个格式命名以为CustomLog所用。上面定义的四

38、条格式,根据它们的内容分别命令为:common、referer、agent、combined它们分别介绍如下:common:表示普通的对单页面请求访问记录。referer:表示每个页面的引用记录,可以看出一个页面中包含的请求数。agent:表示对客户机的类型记录。combined:参数指定将所有的访问日志放在一个文件中。,21.CustomLog参数定义了系统访问日志的位置,它除了带日志文件的路径参数之外,还带有参数昵称。路径参数如果是相对路径,且是相对了ServerRoot。昵称就是上面LogFormat定义了一条日志格式的别名。默认的日志格式是common。22.ServerSignatu

39、re OnServerSignature的语法是:ServerSignature On|Off|EMail,23.Alias/icons/usr/local/apache/icons/Options Indexes MultiViews AllowOverride None Order allow,deny Allow from allAlias参数与前面讲到的UserDir很相似,用来将URL与服务器文件系统中的真实位置进行直接映射,从而使得可以访问到DocumentRoot以外的文档。不再到DocumentRoot 下面进行查询。因此常用Alias来映射一些公用文件的路径,例如保存了各种常

40、用图标的icons路径。例如上例,如果访问http:/localhost/icons/,将产生/usr/local/apache/icons/目录的文件列表。值得注意的是定义好映射的路径之后,应该使用Directory语句设置目录的访问限制。,24.ScriptAlias/cgi-bin/usr/local/apache/cgi-bin/AllowOverride None Options None Order allow,deny Allow from allScriptAlias与Alias同样用于URL路径的映射,但不同之处在于,ScriptAlias 是用于映射CGI程序的路径。因为C

41、GI文件需要经过服务执行才返回给浏览器,这个目录就是用来在需要执行的CGI文件。缺省情况下CGI程序使用cgi-bin目录作为虚拟路径。,25.IndexOptions FancyIndexingAddIconByEncoding:根据MIME 的编码来判断使用何种图标。AddIconByType:根据类型来判断使用何种图标。AddIcon:根据文件的后缀来判断使用何种图标。DefaultIcon:定义不确定文档使用的图标。AddDescription:用来为不同类型的文档加入不同的描述。并且服务器还在目录下,查询使用ReadmeName和HeaderName定义的文件(自动加上.html后缀

42、,如果没有发现,再使用.txt后缀进行搜索),如果发现了这些文件,就在显示文件列表首先显示这些文件,以使得普通目录列表具备更大的可理解性。IndexIgnore:定义了哪些文件不出现在文件列表里面。,26.AddEncoding x-compress ZAddEncoding:用于告诉一些使用压缩的MIME类型,这样可以让浏览器进行解压缩操作。27.AddLanguage da.dk28.LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv twLanguagePriority用来定义不同语言

43、的优先级,如果浏览器没有特殊要求时,则对文档(*.html)的请求的回应按照排定的顺序使用不同的语言版本。,29.#AddType application/x-httpd-php3.php3#AddType application/x-httpd-php3-source.phps#AddType application/x-httpd-php.php#AddType application/x-httpd-php-source.phpsAddType application/x-tar.tgz前面提到了文档的MIME类型在mime.types中定义。但除了在mime.typs里面定义文档的MI

44、ME类型之外,还可以使用AddType来定义文档的MIME类型。第三、四句定义了PHP4文档的MIME类型。值得注意的是这里的定义将覆盖mime.types里面的定义。,30.#AddHandler cgi-script.cgiAddHandler 用来指定非静态文档的处理类型,来定义文档为非静态的文档类型时,需要进行处理,再向浏览器返回处理结果。注意:如果一个目录要执行CGI,还要打开在配置文件(httpd.conf)、或者该目录中的目录访问控制文件(.htaccess)以及其上级目录的目录访问控制文件中的Options ExecCGI参数。31.#AddHandler server-par

45、sed.shtmlserver-parsed是另外一种动态文档,它需要服务器预先分析文档内的标记,并将标记更改为HTML标识。因为需要对text/html 类型的文档进行处理,所以需要先把对应的.shtml定义为text/html类型。和CGI类似它也需要SSI的支持,所以还需要在配置文件或目录访问控制文件中加入Options Includes参数,以允许该目录下的文档可以为SSI类型,或加入Options IncludesNOExec 只执行其中的SSI标志,而不执行其中引用的外部程序。,32.#AddHandler send-as-is asis如果需要Apache 支持send-asis

46、 HTTP file,则去掉这一行的注释。33.#AddHandler imap-file map#AddHandler type-map var如果需要使用server-parsed imagemap files和type maps,则去掉上面的注释。34.#MetaDir.webMetaDir 定义了哪一个meta信息文件存放于哪一个目录。Meta信息是在文档发送给客户之前,预先发送给客户浏览器的一些数据,浏览器可以通过HEAD方式来访问Meta信息。35.MetaSuffix.meta服务器通常发送给浏览器的是一些标准的HTTP头信息,如果需要增加额外的信息。就要区分何种文件为meta

47、信息文件。MetaSuffix 正是定义了meta信息文件的后辍名为.meta。,36.#ErrorDocument 500 The server made a boo boo#ErrorDocument 404/missing.html#ErrorDocument 404/cgi-bin/missing_handler.pl#ErrorDocument 402 http:/当客户请求的网页不存在,或者没有访问权限等情况发生时 Apache 将产生下面四种动作:(1)返回一个普通的错误信息的代号。(2)返回一个定义的信息。(3)重定向到一个本地的标识错误的网页。(4)重定向到一个外部的标识错误

48、的网页。ErrorDocument就是用来定义当出现何种错误时返回给客户浏览器的内容,ErrorDocument的第一个参数为错误的序号,第二个参数为回应的数据,可以为简单的文本、本地网页、本地CGI程序以及远程主机上的网页。,37.BrowserMatch Mozilla/2 nokeepaliveBrowserMatch MSIE 4.0b2;nokeepalive downgrade-1.0 force-response-1.0BrowserMatch RealPlayer 4.0 force-response-1.0BrowserMatch Java/1.0 force-respons

49、e-1.0BrowserMatch JDK/1.0 force-response-1.0BrowserMatch命令为特定的客户程序,设置特殊的参数,以兼容老版本浏览器。并支持新浏览器的新特性。,38.#SetHandler server-status#Order deny,allow#Deny from all#Allow from.your_#SetHandler server-info#Order deny,allow#Deny from all#Allow from.your_#与很相似,不过是对URL进行访问控制的。语法:.,16.3 虚拟Web服务器,16.3.1 虚拟主机的类型与

50、运行方式Apache支持两类型的虚拟主机,一种是基于IP的虚拟主机,一种是基于域名的虚拟主机。基于IP的虚拟主机对所有新旧版本的浏览器提供支持。而基于名称的虚拟主机,因为需要HTTP/1.1协议的支持,所以不能支持所有的浏览器,虚拟主机还有两种运行方式,一种是同时运行多个Apache的守护程序(daemon httpd),一种是只运行一个守护程序。,16.3.2 基于IP的虚拟主机1.多守护程序的基于IP类型的虚拟主机创建和 www.TestVritualH 这两个虚拟主机可以按照下面的步骤进行:(1)把原来的Apache的ServerRoot整个目录复制多一份出来。以本章前面安装的Apach

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号