2006年9月23日星期六

Apache 管理主页面

  为了保证服务质量,Apache 服务器在提供 WWW 服务时,httpd 后台进程数目会随着访问量的改变而发生变化,这样做的好处是可以尽可能快地响应用户请求,但如果设置不当又会事与愿违。在『最大剩余服务器进程』区域中可以设置最大闲置服务器进程数,而在『最小剩余服务器进程数』区域中则可以指定最小闲置服务器进程数。所谓闲置服务器进程,指的是暂时还没有处理请求的 httpd 后台服务进程,Apache 会同期性地自动检查所有后台服务进程的状态,以调整闲置服务器进程的数目,使其始终在庙宇的范围之内。
 
  在『进程和限制』页面中的『初始服务器进程数』区域中,还可以指定在启动Apache 时,httpd 后台服务器进程的数目。这些限制参数都设置好后,就可以放心启动 Apache 服务器了,它绝不会因为连接的用户数目过多而导致性能的下降。
 
  设置好后,单击『保存』按钮返回到 Apache 管理主页面。
 
  Apache 很吸引人的一点是为用户提供了服务器和客户机之间的持久连接。具有持久性的连接可以加快数据的传送速度,以提高服务质量,因为不需要花时间为每个请求建立新的连接。
 
  单击『Apache WEB服务器』页面中的『联网和地址』图标,进入『联网和地址』页面。在『每个连接多个请求数』中可以为每次持久性连接指定请求的最大数目,而『保持活动超时』区域中的设置值则限制了持久性连接中连续两个请求之间的最大时间,如图 6-1-7 所示。一旦请求超过规定的时间仍没有响应,则 Apache 将结束这次持久性连接。
 

图 6-1-7 持久性连接设置
 
  在『联网和地址』页面的『请求超时』区域中,可以指定 Apache 服务器等待客户机的超时秒数。如果超过规定的时间 Apache 仍未收到或发送任何数据,那么已经建立的连接将被切断,这种做法可以最大限度地利用有限的资源,这也是Apache 性能如此优越的原因之一。
 
  下面来看看『联网和地址』页面中最重要的设置选项,那就是在『Listen onaddresses and ports』区域中指定的 Apache 监听端口,如图 6-1-8 所示。
 

图 6-1-8 监听的端口
 
  HTTP 协议使用 80 作为默认的通信端口,需要时也可以选用系统中其它尚未占用的端口,如 8080,那样就必须在浏览器中输入类似http://www.mylinux.org:8080 的 URL 来访问 WWW 服务器。如果『联网和地址』页面中的所有参数都设置好后,单击『保存』按钮返回到 Apache 管理主页面。
 
  在『Apache WEB服务器』页面中单击『用户和组』图标,进入『用户和组』页面,在这里可以指定 httpd 后台服务进程应该以哪一个用户和用户组的身份运行,如图 6-1-9 所示。
 

图 6-1-9 有效用户和用户组
 
  Apache 在启动时需要用 root 帐号来与小于 1024 的端口相结合,但占据端口之后 Apache 会立即将它的有效用户和组设为在这里指定的用户和组。从安全角度来讲,这是很重要的。在设置好 Apache 运行时的有效用户和组后,单击『保存』按钮返回 Apache 管理主页面。
 
  以上是 Apache 服务器中一些重要全局参数的设置,下面再看看缺省服务器的配置,估计这才是你真正感兴趣的。
 
  在『Apache WEB服务器』页面中单击『虚拟服务器』区域中的『缺省服务器』图标,进入『虚拟服务器选项』页面,如图 6-1-10 所示。

图 6-1-10 配置缺省服务器

  单击『联网和地址』图标,进入『联网和地址』页面。在『服务器管理员电子邮件地址』区域中可以指定 Apache 管理员的 E-mail 地址。此外,还可以在『服务器主机名』区域中设置 Apache 服务器的主机名,如图 6-1-11 所示。
 

图 6-1-11 管理员和主机名设置
 
  为 Apache 服务器设置的主机名应该是合法的 DNS 域名。否则,也可以用 IP地址代替,不设置主机名有时可能会导致 Apache 无法正常启动。设置好管理员的E-mail 地址和主机名后,单击『保存』按钮即可。
 
  一旦 Apache 在运行时产生故障,日志文件对管理员诊断问题时将变得非常重要。Apache 提供了非常完善的日志功能。单击『虚拟服务器』页面中的『日志文件』图标,进入『日志文件』页面,在『错误记录日志到』区域可以为 Apache 指定记录日志的文件,而在『Error log level』下拉框中则可以选择记录日志的等级,如图 6-1-12 所示。
 
图 6-1-12 日志文件
 
  浏览器请求资源时产生的错误,以及启动和关闭 httpd 进程时的信息,只要符合日志等级的规定,都会被仔细地记录在指定的日志文件中,供管理员需要时查看。

 
  Apache 服务器是按照固定式来记录日志信息的,在『缺省日志格式』区域中定义了 combined、common、referer 和 agent 四种缺省的日志格式。如果想以combined 格式来记录日志信息,可以在『访问日志文件』区域中的『格式』列中输入指定的格式,在『写入』列中选择『文件』单选框,同时在『文件或程序』列中输入日志文件的路径,如图 6-1-13 所示。这样 Apache 就会按照选定的格式将日志信息保存到指定的文件中关于日志格式的定义请参考 Apache 的联机帮助手册。设置好 Apache 的日志文件和格式后,单击『保存』按钮确定。

 
图 6-1-13 日志格式
 
  单击『虚拟服务器选项』页面中的『文档选项』图标,进入『文档选项』页面。在『文档根目录』中单击『...』按钮打开『选择目录』窗口来为 Apache 服务器指定网站的文档根目录,如图 6-1-14 所示。所有能够被浏览器访问的 HTML 页面都位于网站的文档根目录下。
 

图 6-1-14 文档根目录
 
  在 Apache 服务器中,为各个允许访问的目录赋予恰当的权限是管理员的一项重要职责,文档根目录下存放的是所有能被访问的 HTML 文件,其重要性自然勿庸置疑。在『文档选项』页面的『目录选项』区域中选择『已选择以下』单选框后,就可以在表格中为文档根目录赋予相应的权限了,如图 6-1-15 所示。

 
图 6-1-15 文档根目录选项
 
  为 Apache 服务器设置好根目录和权限后,别忘了单击『保存』保存设置。

 
  如果浏览器请求的资源不存在或发生错误时,为其返回一段错误信息是 WWW 服务器经常采用的一种做法。单击『虚拟服务器选项』页面中的『错误处理』图标,在『客户错误响应』列表中可以看到 Apache 服务器定义的所有错误处理方法,如图 6-1-16 所示。所有错误代码都是由 HTTP 协议规定的,管理员可以根据需要指定在错误产生时是跳转到某个 URL 地址,还是显示一段固定信息。比较常见的做法是将错误信息保存到某个 HTML 文件中,在产生相应的错误时就跳转到该文件。

 
图 6-1-16 客户错误响应
 
  看到这里你可能会有些迷惑:Apache 默认的错误处理方法都是在相应的错误产生时,直接显示 /error/ 目录下的某个文件,可系统中根本不存在 /error/ 这个目录啊。这是怎么回事呢?

 
  不要着急,首先单击『错误处理』页面底部的『保存』按钮,返回到『虚拟服务器选项』页面,接着单击『别名重定向』图标。相信当看到『文档目录别名』区域中的设置值时,就已经可以明白了。Apache 通过为目录 /var/www/error/ 设置一个别名 /error/,使得访问 /error/ 目录就等于访问 /var/www/error/ 目录,如图 6-1-17 所示。

 
图 6-1-17 文档目录别名
 
  在『别名和重定向』页面中,除了可以为文档目录设置别名外,还可以设置各种 URL 的重定向地址。设置完这些重定向地址后,单击页面底部的『保存』按钮返回『虚拟服务器选项』页面。

 
  通常 WWW 服务器返回的都是静态的 HTML 文档,但很多情况下可能需要根据浏览器发送请求时的条件来决定返回给浏览器的文档内容。设想一下网上聊天时的情况,WWW 服务器需要根据用户名,为同时在线的每个人显示各不相同的内容。通用风头接口 (Common Gateway Interface,CGI)是满足这类要求的一种传统方法,它定义了 WWW 服务器的由它执行的程序间共享信息的一种方法。

 
  说的白一些就是 WWW 服务器可以根据浏览器的请求,运行相应的 CGI 程序,而这个程序可以根据 WWW 服务器设置的各种环境变量、服务器磁盘文件中保存的相关信息,以及客户端的请求信息,来创建动态网页,并通过服务器返回给浏览器。

 
  在『虚拟服务器选项』页面单击『CGI程序』图标,进入该页面。在『CGI目录别名』区域中可以为 CGI 程序所在目录指定别名,如图 6-1-18 所示。

 
图 6-1-18 CGI 目录别名
 
  CGI 程序在运行时,最重要的是其依赖变量的当前值。在『CGI程序』页面的『变量集基于浏览器类型』区域中,可以根据客户端使用的浏览器来设置 CGI 变量的值。例如,在『浏览器正则表达式』中输入“Moxilla/2”,在『设置变量』中输入“nokeepalive”,并在『值』中输入“1”,如图 6-1-19 所示。这样就可以当客户端在使用 Moxilla/2 浏览器时将 CGI 变量 nokeepalive 的值设为1,从而能够保证对老版本浏览器的兼容,并支持新版本浏览器的一些新特性。

 
图 6-1-19 基于浏览器类型的 CGI 变量
 
  在『CGI程序』页面中,还可以根据实际需要设置 HTTP 方法对应的 CGI 动作、CGI 程序在执行时的环境变量,以及由 HTTP 请求中的头信息(header)所决定的CGI 变量值等等。在为 CGI 程序设置好这些参数后,单击页面底部的『保存』按钮保存设置信息。

 
  Apache 允许为每个目录指定默认显示的文件,或许平时你也局级注意到了,当我们在浏览器中输入一个网址(如http://www.mylinux.org)时,通常没有指定所要访问的文件名。在这种情况下 Apache 会将文档根目录下的默认文件显示出来。

 
  单击『虚拟服务器选项』页面中的『目录索引』图标,进入设置页面。在『目录索引文件』区域中可以指定目录中默认显示的文件名,如图 6-1-20 所示。还可以同时指定多个默认显示的文件是允许的,Apache 将会优先显示排在前面的文件。

 
图 6-1-20 默认显示的文件
 
  在『目录索引』页面中,还可以对其它目录索引选项进行设置,如是否显示图标,是否显示文件大小,各种类型的文件分别采用哪个图标表示等等。设置好目录索引的各种参数后,单击页面底部的『保存』按钮,重新返回到『虚拟服务器选项』页面。

 
  对于中文用户来说,Apache 服务器还有一个很重要的参数需要进行设置,那就是其默认的字符集类型。单击『虚拟服务器选项』页面中的『Language』图标,进入设置页面,然后在『Character set for documents』区域中输入“GB2312”,再单击『保存』按钮就可以将默认的字符集设置为中文,如图 6-1-21 所示。
 

图 6-1-21 默认字符集
 
  Apache 的配置也很有学问,深究起来会涉及很多方面,但上面的配置对一个普通的 WWW 服务器来讲已经绰绰有余了,你可以在实际应用的过程中慢慢地理解和掌握 Apache 的其它设置。

 
  好了,下面该动手启动 Apache 服务器了。

没有评论: