教学课件第16章Web服务器

上传人:大米 文档编号:568452641 上传时间:2024-07-24 格式:PPT 页数:60 大小:505KB
返回 下载 相关 举报
教学课件第16章Web服务器_第1页
第1页 / 共60页
教学课件第16章Web服务器_第2页
第2页 / 共60页
教学课件第16章Web服务器_第3页
第3页 / 共60页
教学课件第16章Web服务器_第4页
第4页 / 共60页
教学课件第16章Web服务器_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《教学课件第16章Web服务器》由会员分享,可在线阅读,更多相关《教学课件第16章Web服务器(60页珍藏版)》请在金锄头文库上搜索。

1、冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材1第第16章章 Web服务器服务器16.1 Apache的安装的安装16.2 Apache的配置的配置16.3 虚拟虚拟Web服务器服务器16.4 redhat-config-httpd冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材216.1 Apache的安装的安装16.1.1 编辑设置编辑设置以为例,从上获取了包以后,在命令行执行下面的命令:tar zxvf这个命令会在当前目录下生成一个的目录。进入该目录,找到configure的文件。这是一个用来配置安装apache选项的脚本。运行下

2、面的命令可以得到更多的可用选项:./configure helpConfigure的prefix = PATH就是用来更改根目录的位置,比如想把Apache根目录装在/usr/apache/下,那么:./configure prefix = /usr/apache该命令将把所有Apache的文件安装在/usr/apache/目录下。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材3假如用户想将某些文件安装在其他的目录下面,那么可以使用下面的选项。(1)exec-prefix = DIR:将依赖于结构的文件安装在指定DIR目录下。(2)bindir = DIR:将执

3、行的文件安装在指定DIR目录下。(3)sbindir = DIR:将系统管理员可执行的文件安装在指定DIR目录下。(4)libexecdir =DIR:将可执行的程序的文件安装在指定DIR目录下。(5)mandir = DIR:将帮助文档的文件安装在指定DIR目录下。(6)logfiledir = DIR:将日志文件安装在指定DIR目录下。(7)proxycachedir = DIR:将代理缓存数据安装在指定DIR目录下。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材416.1.2 编译和安装运行了configure脚本后,编译并安装Apache就相当简单了。确

4、认当前目录为Apache源码包的根目录,即是。再运行make命令。如果一切正常,没有出现任何出错信息,那么就运行make install命令来安装Apache。如果在运行make时碰到了出错信息,那么查看错误信息,并重新按配置步骤再操作一遍。编译和安装还可以通过下面的命令把两个步骤在一起执行:#make;make install值得注意的是make install必须要用root用户,除非把Apache安装在自己的用户目录下面。出现如下图所示的信息。则表示Apache已经安装成功了。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材516.1.3 Apache和防火墙

5、和防火墙在很多Linux的发行版本中,默认都是启动了防火墙。如redhat,例如在选择中级防火墙的时候,需要添加一些规则,这样,这个服务才可以被外面访问。在redhat中,如需要开放80端口,可以做以下设置:#iptables I RH-Lokkit-0-50-INPUT 2 p udp m udp - -dport 80 j ACCEPT#service iptables save这样,这个规则在计算机启动的时候自动加载。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材616.2 Apache的配置的配置Apache服务器的设置文件位于Apache根目录下的con

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

7、版社高等教育高等教育“十一五十一五”规划教规划教材材716.2.1 全局设置全局设置1. HTTP守护进程的运行模式守护进程的运行模式ServerType定义服务器的启动方式,缺省值为独立方式standalone,httpd 服务器将由其本身启动,并驻留在主机中监视连接请求。在Linux下启动文件 /etc/rc.d/rc.local/init.d/apache中自动启动Web服务器,这种方式是推荐设置。 启动Apache服务器的另一种方式是inet方式,使用超级服务器inetd监视连接请求并启动服务器。当需要使用inetd启动方式时,便需要更改为此设置,以及更改/etc/inetd.conf

8、并重启inetd,那么Apache就能从inetd中启动了。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材8两种方式的区别是:独立方式是由服务器自身管理自己的启动进程,这样在启动时能立即启动服务器的多个副本,每个副本都驻留在内存中,一有连接请求不需要生成子进程就可以立即进行处理,对于客户浏览器的请求反应更快,性能较高。而 inetd方式要由inetd发现有连接请求后才去启动http服务器,由于inetd 要监听太多的端口,因此反应较慢、效率较低,但节约了没有连接请求时Web服务器占用的资源。因为一个页面可能包含很多个图像,而每个图像都会引发一个连接请求,即使访问

9、人数不多,但瞬间的连接请求并不会少,这就受到inetd性能的限制,甚至会影响由inetd启动的其他服务器程序。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材92. ServerRoot /usr/local/apacheServerRoot是指定守护进程httpd的运行目录,httpd在启动之后自动将进程的当前目录改变为此目录。在本文件后面,如果出现的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的路径之下。 由于httpd会经常进行并发的文件操作,就需要使用加锁的方式来保证文件操作不冲突,由于NFS文件系统在文件加锁方面能力有限,因此这个目

10、录应该是本地磁盘文件系统,而不应该使用NFS文件系统。如果SeverRoot目录是NFS文件系统那么必须设置LockFile选项。3. LockFile /usr/local/apache/logs/httpd.lock LockFile参数指定了httpd守护进程的加锁文件,一般不需要设置这个参数,Apache服务器将自动在ServerRoot下面的路径中进行操作。但如果ServerRoot为NFS文件系统,便需要使用这个参数指定本地文件系统中的路径。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材104. PidFile /usr/local/apache/l

11、ogs/httpd.pidPidFile指定的文件将记录httpd守护进程的PID,因为每一连接都是该进程复制出来的子进程,对这个进程发送信号将影响所有的httpd进程。常用kill HUP PID来不断线重启httpd。5. ScoreBoardFile /var/run/httpd.scoreboardScoreBoardFile是来维护进程的内部数据,通常不需要改变这个参数,除非需要在同一台机上运行几个Apache服务器,这时每个Apache服务器需要独立的设置文件httpd.conf,并使用不同的ScoreBoardFile。6. #ResourceConfig conf/srm.co

12、nf#AccessConfig conf/access.conf一般是不用打开ResourceConfig和AccessConfig这两个参数,前面说过了,新版本不再使用 srm.conf 和 access.conf 这两个设置文件。如果没有兼容的需要,可以将对应的设置文件指定为/dev/null或者null,表示不存在其他设置文件,所有的设置选项仅保存在文件httpd.conf里。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材117. Timeout 300Timeout定义客户程序和服务器连接的超时间隔,超过这个时间间隔(秒)后服务器将断开与客户机的连接。8

13、. KeepAlive On在HTTP 1.0中,一次连接只能作传输一次HTTP请求,而KeepAlive参数用于支持HTTP 1.1版本的一次连接、多次传输功能,这样就可以在一次连接中传递多个HTTP请求。现在的浏览器都可以支持这个功能,因此最好打开使用这个选项。9. MaxKeepAliveRequests 100MaxKeepAliveRequests为一次连接可以进行的HTTP请求的最大次数。其值设为0,表示在一次连接内允许无限次的HTTP请求。但是没有客户程序在一次连接中能请求这么多的页面,通常远远达不到这个上限,就已经完成连接了。10. KeepAliveTimeout 16Kee

14、pAliveTimeout 设置了一次连接中的多次请求传输之间间隔的最大时间。如果服务器已经完成了一次请求,但在间隔超过了这个参数设置的值之后,还没有接收到客户程序的下一次请求,那么服务器就断开连接。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材1211. MinSpareServers 5Apache服务器使用了一个特殊技术来解决这个问题,就是预先生成多个空余的子进程驻留在系统中(也就是前面提到的运行在standlone方式下),一旦有请求出现,就立即使用这些空余的子进程进行响应请求,这样就不会因为生成子进程造成的延迟,影响了效率。在运行中随着客户请求的增多,启

15、动的子进程随之增多,但这些服务器副本在处理完一次HTTP请求之后并不立即退出,而是停留在计算机中等待下次请求。太多的空余子进程,也占用CPU的处理时间,因此也要限制空余副本的数量,使其保持一个合适的数量,使得既能及时回应客户请求,又能减少不必要的进程数量。参数MinSpareServers正是设置最少的空余子进程数量,参数MaxSpareServers 来限制最多的空闲子进程数量,多余的服务器进程副本就会退出。根据服务器的实际情况来进行设置这两个参数,如果服务器性能较高,并且也被频繁访问,就应该增大这两个参数的设置。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材1

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

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

18、请求的次数。默认定义为30,对于Linux系统来说过于保守了,可以设置得高点。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材1415. #Listen 3000 #Listen 12.34.56.78:80 #BindAddress *Listen参数可以指定服务器除了监视标准的80端口之外,还监视其他端口的HTTP请求。由于系统可以同时拥有多个IP地址,因此也可以指定服务器只听取对某个BindAddress的IP地址的HTTP请求。如果没有配置这一项,则服务器会回应所有IP的请求。它们的语法分别是:Listen IP-address:portBindAddre

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

20、e启动失败。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材1516. # Dynamic Shared Object(DSO)SupportDSO是Apache的一个重要特性。用户可以使用LoadModule和AddModule来动态的为Apache加载新的特性,这样做的好处在于牺牲很少的效率得到很大的灵活性。可以用httpd l显示已经加载的模块。更多的DSO信息可以从http:/获取。17. #ExtendedStatus OnApache服务器可以通过特殊的HTTP请求来报告自身的运行状态,打开这个ExtendedStatus 参数可以让服务器报告更全面的运

21、行状态信息。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材1616.2.2 主服务器设置主服务器设置1. Port 80Port定义了Standalone模式下httpd守护进程使用的端口,标准端口是80。这个选项只对于以独立方式(standlone)启动才有效,对于以inetd方式启动则在inetd.conf中定义使用哪个端口。在Linux/Unix下使用低于1024端口需要具有root权限,若想以非root用户来启动Apache,那么必须使用大于1024的端口来启动httpd,一般情况下8000或8080也是常用的端口。2. User nobodyGroup

22、 #-1User和Group配置是Apache的安全保证,Apache在打开端口之后,就将其本身设置为这两个选项设置的用户和组权限进行运行,这样就降低了服务器的危险性。这个选项也只用于 Standalone模式,inetd模式在inetd.conf中指定运行Apache的用户。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材173. ServerAdmin youyour.address 这一参数用于设置WWW服务器的管理员的E-mail地址,这将在HTTP服务出现错误的条件下返回给浏览器,以便让Web使用者和管理员联系,报告错误。4. #ServerName Se

23、rverName就定义了Web服务器返回给浏览器的名字,在没有定义虚拟主机的情况下,服务器总是以这个名字回应浏览器(这里假设服务器的名字为)。缺省状态下,并不需要指定这个ServerName参数,服务器将自动通过名字解析过程来获得自己的名字,但如果服务器的名字解析有问题(通常为反向解析不正确),或者没有正式的DNS名字,也可以在这里指定IP地址。当ServerName设置不正确的时候,服务器不能正常启动。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材185. DocumentRoot/usr/local/apache/htdocsDocumentRoot定义这个

24、服务器对外发布的超文本文档存放的路径,客户程序请求的URL就被映射为这个目录下的网页文件。该目录下的子目录以及使用符号连接指出的文件和目录都能被浏览器访问,只是要在URL上使用同样的相对目录名。6. Options FollowSymLinks AllowOverride NoneApache服务器通过两种方式对目录进行文档的访问控制,一个方法是在配置文件 httpd.conf(或access.conf)中针对每个目录进行设置,另一个方法是在每个目录下设置访问控制文件,通常访问控制文件名字为.htaccess。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材19语句

25、就是用来设置目录的访问权限的。Apache对一个目录的访问控制设置是被下一级目录继承的,因此对一个目录的设置将影响到它的下级目录。由于AllowOverride None的设置,使得Apache服务器不需要查看根目录下的访问控制文件,也不需要查看以下各级目录下的访问控制文件,直至httpd.conf(或access.conf)中为某个目录指定了。因为Apache对目录访问控制是采用继承方式,所以如果从根目录就允许查看访问控制文件,那么Apache就必须一级一级的查看访问控制文件,对系统性能会造成影响。还要出了安全考虑,默认是关闭了根目录的这个特性。这样做的好处在于使得Apache从httpd.

26、conf中具体指定打开此功能的目录开始向下搜寻,从而减少了搜寻的级数,增加了系统性能。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材207. Options Indexes FollowSymLinks MultiViewsAllowOverride None 这里定义的是Apache系统对外发布文档的目录的访问设置,设置不同的 AllowOverride选项,以定义配置文件中的目录设置和用户目录下的安全控制文件的关系,而Options选项用于定义该目录的特性。设置文件(httpd.conf和access.conf)是由管理员设置的,而每个目录下的访问控制文件(.

27、htaccess)可以由目录的属主设置,AllowOverride参数正是用来规定目录的属主定义的访问控制文件是否能覆盖系统在设置文件中的设置,还有规定访问控制文件能控制哪些权限。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材21AllowOverride能设定下面的参数:AuthConfig允许访问控制文件使用AuthName、AuthType、AuthUserFile、require等针对每个用户的认证机制,这使目录属主能用口令和用户名来保护目录。Limit:允许对访问目录的客户机的IP地址和名字进行限制。Options:允许访问控制文件中可以使用Option

28、s参数定义目录的选项。FileInfo:允许访问控制文件中可以使用AddType等参数设置。Indexes:当列出时,.htaccess文件可以本地设置控制描述目录索引的命令。就像在mod_dir.c模块中实现的那样,如控制FancyIndexing、AddIcon和AddDescription等命令。All:缺省值,使访问控制文件可以覆盖系统配置,即是允许上面的所有功能。None:服务器忽略访问控制文件的设置。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材22Options能设定下面的参数:FollowSymLinks允许使用符号连接,这将使浏览器有可能访问文档

29、根目录(DocumentRoot)之外的文档SymLinksIfOwnerMatch只有符号连接的目的与符号连接本身为同一用户所拥有时,才允许访问,这个设置将增加一些安全性。ExecCGI:允许这个目录下可以执行CGI程序。Indexes:允许浏览器可以生成这个目录下所有文件的索引,使得在这个目录下没有index.html(或其他索引文件)时,能向浏览器发送这个目录下的文件列表。此外,上例中还使用了Order、Allow、Deny等参数,这是Limit语句中用来根据浏览器的域名和 IP地址来控制访问的一种方式。其中Order定义处理Allow和Deny的顺序,而Allow、Deny则针对名字或

30、IP进行访问控制设置,上例使用allow from all,表示允许所有的客户机访问这个目录,而不进行任何限制。相反deny from all表示拒绝所有的访问。All:所有的目录特性都有效,这是缺省状态。None:所有的目录特性都无效。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材238. UserDir public_html当在一台机器上运行了Apache服务器,这台机上的所有用户都可以有自己的网页路径,如 http:/user,使用波浪符号加上用户名就可以映射到用户自己的网页目录上。映射目录为用户个人主目录下的一个子目录,UseDir参数就是用来定义这个

31、目录的名字。缺省为public_html。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材249. AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Order allow,deny Allow from all Order deny,allow Deny from all 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材25Limit和LimitExcept的语法分别是: . .

32、method分别是:GET,POST,PUT,DELETE,CONNECT,OPTIONS,TRACE,PATCH,PROPFIND,PROPPATCH,MKCOL,COPY,MOVE,LOCK,and UNLOCK。这里的method指的是HTTP方式 。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材26GET方式:向服务器发出获取一个页面的请求。HEAD方式:向服务器请求信息,并不是请求真正的数据。PUT方式:PUT方式刚好和GET方式相反,是向服务器写入一个页面。它需要身份验证。POST方式:POST方式和PUT方式有些类似,但POST是将信息“添加”到已有

33、的页面后。而PUT方式是“替换”或“生成”。DELETE方式:删除一个页面。它像PUT方式一样需要身份验证。LINK和UNLINK方式:允许从一个页面连接到另一个页面。Limit:限制了它指定的方式的访问权限。LimitExcept:限制了它指定的方式之外的其他方式的访问权限。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材2710. DirectoryIndex index.html很多情况下,URL中并没有指定文档的名字,而只是给出了一个目录名。当然可以同时指定多个文件名字,系统会在这个目录下顺序搜索。如果所有由DirectoryIndex指定的文件都不存在时

34、,Apache服务器可以根据系统设置,生成这个目录下的所有文件列表,供用户选择。但此时在该目录的访问控制选项中Options的Indexes参数(Options Indexes )必须打开,否则Apache将拒绝访问。11. AccessFileName .htaccessAccessFileName定义每个目录下的访问控制文件的文件名,缺省为.htaccess,可以通过更改这个文件来改变不同目录的访问控制限制,但前提就是AllowOverride的参数不能为None。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材2812. Order allow,deny De

35、ny from all Satisfy All除了可以针对目录进行访问控制之外,还可以根据File语句来设置文件访问控制。File的语法是: . filename 可以是一个文件名,同时也可以包含通配符,“?”和“*”。13. #CacheNegotiatedDocs缺省情况下如果代理服务器和Apache服务器协商是否缓存其网页,Apache给予否定的回答,不希望自己的网页被代理服务器缓存。然而这样就不能有效的利用代理服务器的优势,因此可以设置CacheNegotiatieDocs 选项,使得代理服务器可以对网页进行缓存。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教

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

37、默认是/usr/local/apache/etc/ mime.types。16. DefaultType text/plain如果Apache不能决定一个文件的缺省类型,通常是因为文件使用了非标准的后缀,那么服务器就使用 DefaultType定义的MIME类型将文档发送给客户浏览器。这里的设置为text/plain,这样设置的问题是,如果你有很多文件是二进制文件,例如应用程序、图片,那么建议将这个设置更改为application/octet-stream。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材3017. MIMEMagicFile /usr/local/

38、apache/conf/magic除了从文件的后缀出发来判断文件的MIME类型之外,Apache还可以通过mod_mime_magic 模块来进一步分析文件的特征,判断文件的真实MIME类型。它需要一个记录各种MIME类型特征的文件。上面的设置是一个条件语句,如果载入了这个模块,就必须指出相应的标志文件magic的位置。18. HostnameLookups OffHostnameLookups 是用来设置日志是否记得客户机的主机名,还是它的IP,默认设置为使用Off关闭此选项。关闭选项之后,服务器就不会获得客户机的主机名,而只能使用IP地址来记录客户。同时如果打开此功能,那么进行DNS反查会

39、消耗一定的系统资源。19. LogLevel warn指定记录Apache服务器错误日志文件的位置,如果在虚拟主机里面不指定日志文件的位置,那么虚拟主机的出错信息也将记录在这个文件。LogLevel是指定了错误为何级别才被记录到日志文件。设置的级别有:debug, info, notice, warn, error, crit, alert, emerg设置了warn,出错日志将记录的信息级别为warn、error、crit、alert、emerg,默认设置warn是比较合适的。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材3120. LogFormat %h %

40、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 common#CustomLog logs/referer.log referer#CustomLog logs/agent.log agent#CustomLog logs/access.log combinedLogFormat定义了日志文件记录的格式。

41、语法是:LogFormat format|nickname nickname冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材32这里使用的是以%开头的宏定义。它们分别代表:%a:客户机的IP地址。%A:本地IP地址。%b:发给客户端的字节数。%f:请求URL引用的文件名。%h:远程主机(如果打开这个选项HostnameLookups,则记录主机名)。%H:应答协议。%(Foobar)i:Foobar的内容:从客户到服务器的请求中的头部行。%(Foobar)o:Foobar的内容:服务器对客户的响应上的头部行。%l:通过identd的远程确认。%m:应答方法。%p:接

42、收到请示的端号。%P:请示的服务器的进程号(PID)。%r:请求的第一行。%s:由请求而产生的服务器响应码。%t:用时间的普通日志文件格式。%u:如果访问控制规则要求用户/口令授权,这代表由客户提供用户口令。%U:客户请求URL。%v:按照DNS服务器的主机名和域名。%V:rpv ServerName指令,处理请求的服务器主机名和域名。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材33昵称(或者说是类型)则是为这个格式命名以为CustomLog所用。上面定义的四条格式,根据它们的内容分别命令为:common、referer、agent、combined它们分别介

43、绍如下:common:表示普通的对单页面请求访问记录。referer:表示每个页面的引用记录,可以看出一个页面中包含的请求数。agent:表示对客户机的类型记录。combined:参数指定将所有的访问日志放在一个文件中。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材3421. CustomLog参数定义了系统访问日志的位置,它除了带日志文件的路径参数之外,还带有参数昵称。路径参数如果是相对路径,且是相对了ServerRoot。昵称就是上面LogFormat定义了一条日志格式的别名。默认的日志格式是common。22. ServerSignature OnServ

44、erSignature的语法是:ServerSignature On|Off|EMail冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材3523. Alias /icons/ /usr/local/apache/icons/ Options Indexes MultiViews AllowOverride None Order allow,deny Allow from allAlias参数与前面讲到的UserDir很相似,用来将URL与服务器文件系统中的真实位置进行直接映射,从而使得可以访问到DocumentRoot以外的文档。不再到DocumentRoot 下面

45、进行查询。因此常用Alias来映射一些公用文件的路径,例如保存了各种常用图标的icons路径。例如上例,如果访问http:/localhost/icons/,将产生/usr/local/apache/icons/目录的文件列表。值得注意的是定义好映射的路径之后,应该使用Directory语句设置目录的访问限制。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材3624. ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/ AllowOverride None Options None Order allow,deny Al

46、low from allScriptAlias与Alias同样用于URL路径的映射,但不同之处在于,ScriptAlias 是用于映射CGI程序的路径。因为CGI文件需要经过服务执行才返回给浏览器,这个目录就是用来在需要执行的CGI文件。缺省情况下CGI程序使用cgi-bin目录作为虚拟路径。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材3725. IndexOptions FancyIndexingAddIconByEncoding:根据MIME 的编码来判断使用何种图标。AddIconByType:根据类型来判断使用何种图标。AddIcon:根据文件的后缀来判

47、断使用何种图标。DefaultIcon:定义不确定文档使用的图标。 AddDescription:用来为不同类型的文档加入不同的描述。并且服务器还在目录下,查询使用ReadmeName和HeaderName定义的文件(自动加上 . html后缀,如果没有发现,再使用.txt后缀进行搜索),如果发现了这些文件,就在显示文件列表首先显示这些文件,以使得普通目录列表具备更大的可理解性。IndexIgnore:定义了哪些文件不出现在文件列表里面。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材3826. AddEncoding x-compress ZAddEncoding

48、:用于告诉一些使用压缩的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用来定义不同语言的优先级,如果浏览器没有特殊要求时,则对文档(*.html)的请求的回应按照排定的顺序使用不同的语言版本。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材3929. #AddType application/x-httpd-php3 .ph

49、p3#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里面定义文档的MIME类型之外,还可以使用AddType来定义文档的MIME类型。第三、四句定义了PHP4文档的MIME类型。值得注意的是这里的定义将覆盖mime.types里面的定义。冶金工业出

50、版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材4030. #AddHandler cgi-script .cgiAddHandler 用来指定非静态文档的处理类型,来定义文档为非静态的文档类型时,需要进行处理,再向浏览器返回处理结果。注意:注意:如果一个目录要执行CGI,还要打开在配置文件(httpd.conf)、或者该目录中的目录访问控制文件(.htaccess)以及其上级目录的目录访问控制文件中的Options ExecCGI参数。31. #AddHandler server-parsed .shtmlserver-parsed是另外一种动态文档,它需要服务器预先分析文

51、档内的标记,并将标记更改为HTML标识。因为需要对text/html 类型的文档进行处理,所以需要先把对应的.shtml定义为text/html类型。 和CGI类似它也需要SSI的支持,所以还需要在配置文件或目录访问控制文件中加入Options Includes参数,以允许该目录下的文档可以为SSI类型,或加入Options IncludesNOExec 只执行其中的SSI标志,而不执行其中引用的外部程序。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材4132. #AddHandler send-as-is asis如果需要Apache 支持send-asis H

52、TTP 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头信息,如果需要增加额外的信息。就要区分何种文件为me

53、ta 信息文件。MetaSuffix 正是定义了meta信息文件的后辍名为 .meta。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材4236. #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

54、)返回一个定义的信息。(3)重定向到一个本地的标识错误的网页。(4)重定向到一个外部的标识错误的网页。ErrorDocument就是用来定义当出现何种错误时返回给客户浏览器的内容,ErrorDocument的第一个参数为错误的序号,第二个参数为回应的数据,可以为简单的文本、本地网页、本地CGI程序以及远程主机上的网页。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材4337. BrowserMatch Mozilla/2 nokeepaliveBrowserMatch MSIE 4.0b2; nokeepalive downgrade-1.0 force-respo

55、nse-1.0BrowserMatch RealPlayer 4.0 force-response-1.0BrowserMatch Java/1.0 force-response-1.0BrowserMatch JDK/1.0 force-response-1.0BrowserMatch命令为特定的客户程序,设置特殊的参数,以兼容老版本浏览器。并支持新浏览器的新特性。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材4438. # SetHandler server-status# Order deny,allow# Deny from all# Allow from

56、 .your_# SetHandler server-info# Order deny,allow# Deny from all# Allow from .your_#与很相似,不过是对URL进行访问控制的。语法: . 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材4516.3 虚拟虚拟Web服务器服务器16.3.1 虚拟主机的类型与运行方式虚拟主机的类型与运行方式Apache支持两类型的虚拟主机,一种是基于IP的虚拟主机,一种是基于域名的虚拟主机。基于IP的虚拟主机对所有新旧版本的浏览器提供支持。而基于名称的虚拟主机,因为需要HTTP/1.1协议的支持,所以不能

57、支持所有的浏览器,虚拟主机还有两种运行方式,一种是同时运行多个Apache的守护程序(daemon httpd),一种是只运行一个守护程序。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材4616.3.2 基于基于IP的虚拟主机的虚拟主机1. 多守护程序的基于多守护程序的基于IP类型的虚拟主机类型的虚拟主机创建和 www.TestVritualH 这两个虚拟主机可以按照下面的步骤进行:(1)把原来的Apache的ServerRoot整个目录复制多一份出来。以本章前面安装的Apache为例子。既是把 /usr/local/apache复制出另外一个叫/usr/loca

58、/apache-TestVritualHost2的目录。同时复制出一个名字为apache-backup的目录用于备份,这就是一个好的习惯(或者也可心只备份httpd.conf)。把原有的目录改名为/usr/local/apache-TestVritualHost1(目录的名字可以自己命名,为了方便记忆,我们按这种方法命名)。(2)分别对两个目录的httpd.conf文件进行编辑,使用Listen命令为每个虚拟主机绑上相应的IP。(3)修改httpd.conf文件中的ServerName、DocumentRoot、ScriptAlias、ErrorLog、TransferLog等选项,指向不同的

59、位置。(4)在控制台使用-d参数来启动这两个Apache的守护进程。-d参数需要指定ServerRoot的完整路径。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材472. 单守护程序的基于单守护程序的基于IP类型的虚拟主机类型的虚拟主机单守护程序方式支持基于IP和基于域名两种虚拟主机,不管是基于IP或是域名的虚拟主机,对于单守护程序方式,都是通过 这个标志来实现的。像多守护进程方式一样,服务器也需要在网络接口处绑定多个IP,除了ServerType、StartServers、MaxSpareServers、MinSpareServers、BindAddress、M

60、axRequestaPerChild、Listen、PidFile、TypesConfig、ServerRoot 以及NameVirtualHost这些选项不能出现在 容器里面之外,其他的选项都可以。而且在容器里面的所有选项只对该容器有效(可以有多个容器),并且会覆盖主服务器的设置,容器中没有的选项将继承主服务器的设置。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材483. 不同端口的基于不同端口的基于IP地址的虚拟主机的配置地址的虚拟主机的配置假设对应TestVritualHost1 使用标准端口,对应TestVritualHost2使用8080端口。除了像上面

61、所说的一样,直接使用对TestVritualHost2进行设置之外还有别外一种方式。如下:简化后的httpd.conf如下: Listen abc.def.ghi.jkm:80Listen abc.def.ghi.jkn:8080 到这里基于IP的虚拟主机已经讲完了,还有主服务器的基于IP地址的虚拟主机,留待读者自己去研究。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材4916.3.3 基于域名的虚拟主机基于域名的虚拟主机1. 基于域名的虚拟主机基于域名的虚拟主机基于域名的虚拟主机的配置十分简单。只要在容器前,加入NameVirtualHost指令设置基于域名的虚

62、拟主机的IP地址。这条指令是为基于名称的虚拟主机设定一个用作目的地址的IP地址。语法是:NameVirtualHost IPADDR基于IP地址和基于域名的虚拟主机它们的最大区别就在于:基于IP地址的虚拟主机,每一个虚拟主机都使用一个IP地址;而基于域名的虚拟主机,所有的虚拟主机都使用同一个IP地址。相对基于IP地址的虚拟主机,基于域名的虚拟主机的设置更为方便。无须在系统的网络接口上绑定多个IP。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材502. 基于基于IP地址和基于域名的虚拟主机的混合配置地址和基于域名的虚拟主机的混合配置需要注意的是在混合两种类型的虚拟主

63、机的配置上,使用同一个IP的所有基于名称的虚拟主机的配置前面要使用NameVirtualHost指令,基于IP虚拟主机的配置写在基于域名虚拟主机配置的前面或者是后面是没有规定的,但把基于IP的虚拟主机写在前面有更好的可读性。3. 基于基于IP地址到基于域名的虚拟主机的转换配置地址到基于域名的虚拟主机的转换配置在的标志里面同时指定了新旧两个IP,这样子做的好处在于,不论对该虚拟主机的基于IP或是基于域名的访问请求都能做出应答。为什么不直接删除旧的IP呢?因为假如DNS的数据没有来得及更新,删除旧的IP会使得访问失败。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材51

64、16.4 redhat-config-httpd在RedHat的发行版本中,有一个图形化的配置工具redhat-config-httpd。在这个工具中,可以比较直观地配置Apache。首先,确定这个包已经安装,如果没有安装可以从RedHat的发行光盘上面获取rpm,然后安装。安装完成后,在X界面中以root身份运行:#redhat-config-httpd冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材5216.4.1 配置配置Apache的主参数的主参数这里可以输入服务器的域名或者IP地址,如果有虚拟主机的情况下,这里不要输入域名。而且,在大多数情况下,最好输入I

65、P地址,这样可以避免一些DNS的流量。网页的电子邮件地址和httpd.conf中对应的选项是ServerAdmin,这里主要设置的是httpd的系统管理员的E-mail地址,默认设置是rootlocal。在监听端口请求中可以设置apach的监听端口,这里对应在httpd.conf中的选项是Listen。可以使用旁边的编辑按钮来编辑这个选项,如下图所示。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材5316.4.2 虚拟主机配置虚拟主机配置在主界面,单击虚拟主机选项卡,可以进行虚拟主机的配置,如下图所示。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规

66、划教规划教材材541. 常规选项常规选项在常规选项的主机信息中选择“默认虚拟主机”,其实并不是针对虚拟主机进行配置,而是在配置这个apache不启用虚拟主机功能的时候的一些基本配置,如文件根目录等。2. 站点配置站点配置在虚拟主机的主菜单中选择站点配置选项,在这里,主要可以设置两个选项,一个是目录搜索项和错误代码。目录搜索项的意思是在设置那些虚拟主机的默认搜索页。错误页代码指的是当出现错误的时候返回给客户端的信息。这里一般不需要编辑。3. SSL如果真的要启动ssl,则需要到或者之类的证书机构获取一组证书数据。 冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材554

67、. 记录日志在这里可以定义日志的路径,logs/access.log表示传输日志输出的到安装目录下面的logs目录中的access.log文件。这个路径也可以用绝对路径来定义它的输入路径,但是要保证对这个目录,apache有写的权限。5. 环境变量环境变量选择主菜单中的环境变量,可以设置与CGI和SSI相关联的环境变量。6. 目录目录在这里,可以设置目录的权限和访问控制,这个对应在httpd.conf中的,对于目录,有默认选项,如果需要编辑可以选项“编辑”按钮来编辑。如果新增加了目录,可以用“添加”按钮来添加。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材5616

68、.4.3 配置服务器配置服务器在服务器中,还有一些基本的设置,可以从“服务器”选项进入,如下图所示。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材57锁文件:指的是apache启动时候打开的文件。PID文件:也是apache启动的时候打开的另外一个文件,里面保持这httpd的pid。核心转储目录:是apache一个放配置文件的目录,启动apache的关联用户要能写。用户:启动apache的关联用户,也就是apahce是用这个用户启动。组群:启动apache时的管理用户组。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材5816.4.4

69、服务器性能调整服务器性能调整apache还有一些性能调整,可以同性能调整进入它的配置界面,如下图所示。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材59最大连接数量是设置同时连接Web的最大客户数,相应在httpd.conf中的MaxClients。连接超时是指Web服务器等待客户端下一步通讯的时间,单位为秒,相对应是httpd.conf中的TimeOut命令。每次连接最多请求数,指的是每个客户端向Web服务器请求的项目总数,向对应配置文件中的MaxRequestsPerChild。冶金工业出版社冶金工业出版社高等教育高等教育“十一五十一五”规划教规划教材材60小结小结本章详细的介绍了Apache的配置,通过本章的学习,对于配置Apache服务器已经不再是难事,但是要配置高性能、高稳定性的服务器还需要平常不断的总结经验,灵活的应用虚拟主机可以充分利用服务器本身的资源。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号