配置Apache服务器(1)
  Apache服务器的配置文档位于/usr/local/etc/apache目录下,传统上使用三个配置文档httpd.conf,access.conf和srm.conf,来配置Apache服务器的行为。httpd. conf提供了最基本的服务器配置,是对守护程式httpd如何运行的技术描述;srm.conf是服务器的资源映射文档,告诉服务器各种文档的MIME类型,连同如何支持这些文档;access.conf用于配置服务器的访问权限,控制不同用户和电脑的访问限制;这三个配置文档控制着服务器的各个方面的特性,因此为了正常运行服务器便需要配置好这三个文档。

  除了这三个配置文档之外,Apache还使用mime.types文档用于标识不同文档对应的MIME类型, magic文档配置不同MIME类型文档的一些特别标识,使得Apache服务器从文档后缀不能判断出文档的MIME 类型时,能通过文档内容中的这些特别标记来判断文档的MIME类型。
http://www.137b.com
bash-2.02$ ls -l /usr/local/etc/apache
total 100
-rw-r--r-- 1 root wheel 348 Apr 16 16:01 access.conf
-rw-r--r-- 1 root wheel 348 Feb 13 13:33 access.conf.default
-rw-r--r-- 1 root wheel 30331 May 26 08:55 httpd.conf
-rw-r--r-- 1 root wheel 29953 Feb 13 13:33 httpd.conf.default
-rw-r--r-- 1 root wheel 12441 Apr 19 15:42 magic
-rw-r--r-- 1 root wheel 12441 Feb 13 13:33 magic.default
-rw-r--r-- 1 root wheel 7334 Feb 13 13:33 mime.types
-rw-r--r-- 1 root wheel 383 May 13 17:01 srm.conf
-rw-r--r-- 1 root wheel 357 Feb 13 13:33 srm.conf.default



  事实上当前版本的Apache将原来httpd.conf、srm.conf和access.conf中的任何配置参数均放在了一个配置文档httpd.conf中,只是为了和以前的版本兼容的原因(使用这三个配置文档的方式来源于NCSA-httpd),才使用三个配置文档。而提供的access.conf和srm.conf文档中没有具体的配置。

  新版本Apache使用的配置文档为apache.conf,他就等价于httpd.conf。

  由于在新版本的Apache中,任何的配置都被放在了httpd.conf中,因此只需要调整这个文档中的配置。以下使用缺省提供的httpd.conf为例,解释Apache服务器的各个配置选项。然而不必因为他提供配置的参数太多而烦恼,基本上这些参数都很明确,也能够不加改变运行Apache服务器。但假如需要调整Apache服务器的性能,连同增加对某种特性的支持,就需要了解这些配置参数的含义。

  关于Apache服务器的性能,在Internet上存在很大的争议,基本上使用过Apache的使用者几乎都不怀疑他的优秀性能,Apache也支撑了很多著名的高负载的网站,但是在商业机构的评测中,Apache往往得分不高。很多人指出,在这些评测中,商业Web服务器及其操作系统往往由其专业公司的工程师进行过性能调整,而Free 的操作系统和Web服务器往往就使用其缺省配置或仅仅作很小的更改。需要指出的是,除了操作系统的性能调整之外,Apache 服务器本身的缺省配置绝不是最优化和最高效的,而是要适应几乎任何种类操作系统、任何种类硬件下的配置,多平台的软件不可能为特定平台和特定硬件提供最优化的缺省配置。因此要使用Apache的时候,性能调整是必不可少的。

  在商业评测中忽略了的另一个事实是,评测时往往对不同种类的功能进行比较,例如使用Apache的标准CGI 的性能和ISAPI,NSAPI等服务器端API比较,事实上Apache服务器和此能够比较的功能为modperl ,FastCGI,和ASP类似的功能为PHP3等等,只但是由于Apache的开放模式,这些功能是由单独的研发组,作为单独的模块来实现的。但是在评测中,测试人员没有加入相应的模块评测其性能。


HTTP守护进程的运行参数

  httpd.conf中首先定义了一些httpd守护进程运行时需要的参数,来决定其运行方式和运行环境。

  ServerType standalone

  ServerType定义服务器的启动方式,缺省值为单独方式standalone,http d服务器将由其本身启动,并驻留在主机中监控连接请求。在FreeBSD下将在启动文档/usr/local/etc /rc.d/apache.sh中自动启动Web服务器,这种方式是推荐配置。

  启动Apache服务器的另一种方式是inet方式,使用终极服务器inetd监控连接请求并启动服务器。当需要使用inetd启动方式时,便需要更改为这个配置,并屏蔽/usr/local/etc/rc.d/apache .sh文档,连同更改/etc/inetd.conf并重起inetd,那么Apache就能从inetd中启动了。

  两种方式的区别是单独方式是由服务器自身管理自己的启动进程,这样在启动时能立即启动服务器的多个副本,每个副本都驻留在内存中,一有连接请求无需生成子进程就能够立即进行处理,对于客户浏览器的请求反应更快,性能较高。而 inetd方式要由inetd发现有连接请求后才去启动http服务器,由于inetd要监听太多的端口,因此反应较慢、效率较低,但节约了没有连接请求时Web服务器占用的资源。因此inetd方式只用于偶尔被访问并且不需要访问速度的服务器上。事实上inetd方式不适合http的突发和多连接的特性,因为一个页面可能包含多个图象,而每个图象都会引起一个连接请求,即使虽然访问人数造成教少,但瞬间的连接请求并不少,这就受到inetd性能的限制,甚至会影响由inetd启动的其他服务器程式。

  ServerRoot "/usr/local"

  ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此假如配置文档中指定的文档或目录是相对路径,那么真实路径就位于这个ServerR oot定义的路径之下。

  由于httpd会经常进行并发的文档操作,就需要使用加锁的方式来确保文档操作不冲突,由于NFS文档系统在文档加锁方面能力有限,因此这个目录应该是本地磁盘文档系统,而不应该使用NFS文档系统。

  #LockFile /var/run/httpd.lock

  LockFile参数指定了httpd守护进程的加锁文档,一般无需配置这个参数,Apac he服务器将自动在ServerRoot下面的路径中进行操作。但假如ServerRoot为NFS文档系统,便需要使用这个参数指定本地文档系统中的路径。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!