84 FreeBSD连载:配置Apache服务器(1)

配置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类型 。
bash-2.02$ ls -l /usr/local/etc/apachetotal 100-rw-r--r--1 rootwheel348 Apr 16 16:01 access.conf-rw-r--r--1 rootwheel348 Feb 13 13:33 access.conf.default-rw-r--r--1 rootwheel30331 May 26 08:55 httpd.conf-rw-r--r--1 rootwheel29953 Feb 13 13:33 httpd.conf.default-rw-r--r--1 rootwheel12441 Apr 19 15:42 magic-rw-r--r--1 rootwheel12441 Feb 13 13:33 magic.default-rw-r--r--1 rootwheel7334 Feb 13 13:33 mime.types-rw-r--r--1 rootwheel383 May 13 17:01 srm.conf-rw-r--r--1 rootwheel357 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,httpd服务器将由其本身启动,并驻留在主机中监视连接请求 。在FreeBSD下将在启动文件/usr/local/etc/rc.d/apache.sh中自动启动Web服务器,这种方式是推荐设置 。

推荐阅读