ServerTypestandaloneServerType定义服务器的启动方式,缺省值为独立方式standalone,httpd服务器将由其本身启动,并驻留在主机中监视连接请求。在Linux下将在启动文件/etc/rc.d/rc.local/init.d/apache中自动启动Web服务器,这种方式是推荐设置。启动Apache服务器的另一种方式是inet方式,使用超级服务器inetd监视连接请求并启动服务器。当需要使用inetd启动方式时,便需要更改为这个设置,并屏蔽/etc/rc.d/rc.local/init.d/apache文件,以及更改/etc/inetd.conf并重起inetd,那么Apache就能从inetd中启动了。ServerRoot/etc/httpdServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的路径之下。LockFile/var/run/httpd.lock由于httpd会经常进行并发的文件操作,就需要使用加锁的方式来保证文件操作不冲突,由于NFS文件系统在文件加锁方面能力有限,因此这个目录应该是本地磁盘文件系统,而不应该使用NFS文件系统。LockFile参数指定了httpd守护进程的加锁文件,一般不需要设置这个参数,Apache服务器将自动在ServerRoot下面的路径中进行操作。但如果ServerRoot为NFS文件系统,便需要使用这个参数指定本地文件系统中的路径。PidFile/var/run/httpd.pidPidFile指定的文件将记录httpd守护进程的进程号,由于httpd能自动复制其自身,因此系统中有多个httpd进程,但只有一个进程为最初启动的进程,它为其他进程的父进程,对这个进程发送信号将影响所有的httpd进程。PidFILE定义的文件中就记录httpd父进程的进程号。ScoreBoardFilelogs/apache_runtime_statushttpd使用ScoreBoardFile来维护进程的内部数据,因此通常不需要改变这个参数,除非管理员想在一台计算机上运行几个Apache服务器,这时每个Apache服务器都需要独立的设置文件httpd.conf,并使用不同的ScoreBoardFileTimeout300Timeout定义客户程序和服务器连接的超时间隔,超过这个时间间隔(秒)后服务器将断开与客户机的连接。KeepAliveOff在HTTP1.0中,一次连接只能作传输一次HTTP请求,而KeepAlive参数用于支持HTTP1.1版本的一次连接、多次传输功能,这样就可以在一次连接中传递多个HTTP请求。虽然只有较新的浏览器才支持这个功能,但还是打开使用这个选项。MaxKeepAliveRequests100MaxKeepAliveRequests为一次连接可以进行的HTTP请求的最大请求次数。将其值设为0将支持在一次连接内进行无限次的传输请求。事实上没有客户程序在一次连接中请求太多的页面,通常达不到这个上限就完成连接了。KeepAliveTimeout15KeepAliveTimeout测试一次连接中的多次请求传输之间的时间,如果服务器已经完成了一次请求,但一直没有接收到客户程序的下一次请求,在间隔超过了这个参数设置的值之后,服务器就断开连接。MinSpareServers5MaxSpareServers20在使用子进程处理HTTP请求的Web服务器上,由于要首先生成子进程才能处理客户的请求,因此反应时间就有一点延迟。但是,Apache服务器使用了一个特殊技术来摆脱这个问题,这就是预先生成多个空余的子进程驻留在系统中,一旦有请求出现,就立即使用这些空余的子进程进行处理,这样就不存在生成子进程造成的延迟了。在运行中随着客户请求的增多,启动的子进程会随之增多,但这些服务器副本在处理完一次HTTP请求之后并不立即退出,而是停留在计算机中等待下次请求。但是空余的子进程副本不能光增加不减少,太多的空余子进程没有处理任务,也占用服务器的处理能力,因此也要限制空余副本的数量,使其保持一个合适的数量,使得既能及时回应客户请求,又能减少不必要的进程数量。因此就可以使用参数MinSpareServers来设置最少的空余子进程数量,以及使用参数MaxSpareServers来限制最多的空闲子进程数量,多余的服务器进程副本就会退出。根据服务器的实际情况来进行设置,如果服务器性能较高,并且也被频繁访问,就应该增大这两个参数的设置。对于高负载的专业网站,这两个值应该大致相同,并且等同于系统支持的最多服务器副本数量,也减少不必要的副本退出。StartServers8StartServers参数就是用来设置httpd启动时启动的子进程副本数量,这个参数与上面定义的MinSpareServers和MaxSpareServers参数相关,都是用于启动空闲子进程以提高服务器的反应速度的。这个参数应该设置为前两个值之间的一个数值,小于MinSpareServers和大于MaxSpareServers都没有意义。MaxClients2000在另一方面,服务器的能力毕竟是有限的,不可能同时处理无限多的连接请求,因此参数Maxclients就用于规定服务器支持的最多并发访问的客户数,如果这个值设置得过大,系统在繁忙时不得不在过多的进程之间进行切换来为太多的客户进行服务,这样对每个客户的反应就会减慢,并降低了整体的效率。如果这个值设置的较小,那么系统繁忙时就会拒绝一些客户的连接请求。当服务器性能较高时,就可以适当增加这个值的设置。对于专业网站,应该使用提高服务器效率的策略,因此这个参数不能超过硬件本身的限制,如果频繁出现拒绝访问现象,就说明需要升级服务器硬件了。对于非专业网站,不太在意对客户浏览器的反应速度,或者认为反应速度较慢也比拒绝连接好,就也可以略微超过硬件条件来设置这个参数。这个参数限制了MinSpareServers和MaxSpareServers的设置,它们不应该大于这个参数的设置。MaxRequestsPerChild1000使用子进程的方式提供服务的Web服务,常用的方式是一个子进程为一次连接服务,这样造成的问题就是每次连接都需要生成、退出子进程的系统操作,使得这些额外的处理过程占据了计算机的大量处理能力。因此最好的方式是一个子进程可以为多次连接请求服务,这样就不需要这些生成、退出进程的系统消耗,Apache就采用了这样的方式,一次连接结束后,子进程并不退出,而是停留在系统中等待下一次服务请求,这样就极大的提高了性能。但由于在处理过程中子进程要不断的申请和释放内存,次数多了就会造成一些内存垃圾,就会影响系统的稳定性,并且影响系统资源的有效利用。因此在一个副本处理过一定次数的请求之后,就可以让这个子进程副本退出,再从原始的httpd进程中重新复制一个干净的副本,这样就能提高系统的稳定性。这样,每个子进程处理服务请求次数由MaxRequestPerChild定义。缺省的设置值为30,这个值对于具备高稳定性特点的Linux系统来讲是过于保守的设置,可以设置为1000甚至更高,设置为0支持每个副本进行无限次的服务处理。LoadModulevhost_alias_modulemodules/mod_vhost_alias.soIfDefineHAVE_BANDWIDTHLoadModulebandwidth_modulemodules/mod_bandwidth.so/IfDefineIfDefineHAVE_THROTTLELoadModulethrottle_modulemodules/mod_throttle.so/IfDefineLoadModuleenv_modulemodules/mod_env.soLoadModuleconfig_log_modulemodules/mod_log_config.soLoadModuleagent_log_modulemodules/mod_log_agent.soLoadModulereferer_log_modulemodules/mod_log_referer.soLoadModulemime_modulemodules/mod_mime.soLoadModulenegotiation_modulemodules/mod_negotiation.soLoadModulestatus_modulemodules/mod_status.soLoadModuleinfo_modulemodules/mod_info.soLoadModuleincludes_modulemodules/mod_include.soLoadModuleautoindex_modulemodules/mod_autoindex.soLoadModuledir_modulemodules/mod_dir.soLoadModulecgi_modulemodules/mod_cgi.soLoadModuleasis_modulemodules/mod_asis.soLoadModuleimap_modulemodules/mod_imap.soLoadModuleaction_modulemodules/mod_actions.soLoadModuleuserdir_modulemodules/mod_userdir.soLoadModulealias_modulemodules/mod_alias.soLoadModulerewrite_modulemodules/mod_rewrite.soLoadModuleaccess_modulemodules/mod_access.soLoadModuleauth_modulemodules/mod_auth.soLoadModuleanon_auth_modulemodules/mod_auth_anon.soLoadModuledb_auth_modulemodules/mod_auth_db.soLoadModuleexpires_modulemodules/mod_expires.soLoadModuleheaders_modulemodules/mod_headers.soLoadModulesetenvif_modulemodules/mod_setenvif.soIfDefineHAVE_PERLLoadModuleperl_modulemodules/libperl.so/IfDefineIfDefineHAVE_PHPLoadModulephp_modulemodules/mod_php.so/IfDefineIfDefineHAVE_PHP3LoadModulephp3_modulemodules/libphp3.so/IfDefineIfDefineHAVE_PHP4LoadModulephp4_modulemodules/libphp4.so/IfDefineIfDefineHAVE_DAVLoadModuledav_modulemodules/libdav.so/IfDefineIfDefineHAVE_ROAMINGLoadModuleroaming_modulemodules/mod_roaming.so/IfDefineIfDefineHAVE_SSLLoadModulessl_modulemodules/libssl.so/IfDefineIfDefineHAVE_PUTLoadModuleput_modulemodules/mod_put.so/IfDefineIfDefineHAVE_PYTHONLoadModulepython_modulem