`

Apache WEB服务器 httpd.conf 配置全攻略

阅读更多

httpd.conf提供了最基本的服务器配置,是对守护程序httpd如何运行的技术描述;srm.conf是服务器的资源映射文件,告诉服务器各种文件的MIME类型,以及如何支持这些文件;access.conf用于配置服务器的访问权限,控制不同用户和计算机的访问限制;这三个配置文件控制着服务器的各个方面的特性,因此为了正常运行服务器便需要设置好这三个文件。

  除了这三个设置文件之外,Apache还使用mime.types文件用于标识不同文件

  对应的MIME类型,magic文件设置不同MIME类型文件的一些特殊标识,使得Apache服务器从文档后缀不能判断出文件的MIME类型时,能通过文件内容中的这些特殊标记来判断文档的MIME类型。

  bash-2.02$ls-l/usr/local/apache/conf

  total100

  -rw-r--r--1rootwheel348Apr1616:01access.conf

  -rw-r--r--1rootwheel348Feb1313:33access.conf.default

  -rw-r--r--1rootwheel30331May2608:55httpd.conf

  -rw-r--r--1rootwheel29953Feb1313:33httpd.conf.default

  -rw-r--r--1rootwheel12441Apr1915:42magic

  -rw-r--r--1rootwheel12441Feb1313:33magic.default

  -rw-r--r--1rootwheel7334Feb1313:33mime.types

  -rw-r--r--1rootwheel383May1317:01srm.conf

  -rw-r--r--1rootwheel357Feb1313:33srm.conf.default

  事实上当前版本的Apache将原来httpd.conf、srm.conf与access.conf中的所有配置参数均放在了一个配置文件httpd.conf中,只是为了与以前的版本兼容的原因(使用这三个设置文件的方式来源于NCSA-httpd),才使用三个配置文件。而提供的access.conf和srm.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类似的功能为PHP等等,只不过由于Apache的开放模式,这些功能是由独立的开发组,作为独立的模块来实现的。但是在评测中,测试人员没有加入相应的模块评测其性能。

  HTTP守护进程的运行参数

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

  ServerTypestandalone

  ServerType定义服务器的启动方式,缺省值为独立方式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中启动了。

  两种方式的区别是独立方式是由服务器自身管理自己的启动进程,这样在启

  动时能立即启动服务器的多个副本,每个副本都驻留在内存中,一有连接请求不需要生成子进程就可以立即进行处理,对于客户浏览器的请求反应更快,性能较

  高。而inetd方式要由inetd发现有连接请求后才去启动http服务器,由于inetd要监听太多的端口,因此反应较慢、效率较低,但节约了没有连接请求时Web服务器占用的资源。因此inetd方式只用于偶尔被访问并且不要求访问速度的服务器上。事实上inetd方式不适合http的突发和多连接的特性,因为一个页面可能包含多个图象,而每个图象都会引起一个连接请求,即使虽然访问人数造成教少,但瞬间的连接请求并不少,这就受到inetd性能的限制,甚至会影响由inetd启动的其他服务器程序。

  ServerRoot"/usr/local"

  ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将

  进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的路径之下。

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

  #LockFile/var/run/httpd.lock

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

  PidFile/var/run/httpd.pid

  PidFile指定的文件将记录httpd守护进程的进程号,由于httpd能自动复制其自身,因此系统中有多个httpd进程,但只有一个进程为最初启动的进程,它为其他进程的父进程,对这个进程发送信号将影响所有的httpd进程。PidFILE定义的文件中就记录httpd父进程的进程号。

  ScoreBoardFile/var/run/httpd.scoreboard

  httpd使用ScoreBoardFile来维护进程的内部数据,因此通常不需要改变这个参数,除非管理员想在一台计算机上运行几个Apache服务器,这时每个Apache服务器都需要独立的设置文件httpd.conf,并使用不同的ScoreBoardFile。

  #ResourceConfigconf/srm.conf

  #AccessConfigconf/access.conf

  这两个参数ResourceConfig和AccessConfig,就用于和使用srm.conf和access.conf设置文件的老版本Apache兼容。如果没有兼容的需要,可以将对应的设置文件指定为/dev/null,这将表示不存在其他设置文件,而仅使用httpd.conf一个文件来保存所有的设置选项。

  Timeout300

  Timeout定义客户程序和服务器连接的超时间隔,超过这个时间间隔(秒)后服务器将断开与客户机的连接。

  KeepAliveOn

  在HTTP1.0中,一次连接只能作传输一次HTTP请求,而KeepAlive参数用于支持HTTP1.1版本的一次连接、多次传输功能,这样就可以在一次连接中传递多个HTTP请求。虽然只有较新的浏览器才支持这个功能,但还是打开使用这个选项。

  MaxKeepAliveRequests100

  MaxKeepAliveRequests为一次连接可以进行的HTTP请求的最大请求次数。将

  其值设为0将支持在一次连接内进行无限次的传输请求。事实上没有客户程序在一次连接中请求太多的页面,通常达不到这个上限就完成连接了。

  KeepAliveTimeout15

  KeepAliveTimeout测试一次连接中的多次请求传输之间的时间,如果服务器

  已经完成了一次请求,但一直没有接收到客户程序的下一次请求,在间隔超过了

  这个参数设置的值之后,服务器就断开连接。

分享到:
评论

相关推荐

    Apache服务器配置全攻略

    ### Apache服务器配置全攻略 #### 一、Apache服务器配置文件概览 Apache是一款广泛使用的开源Web服务器软件,因其稳定性、安全性和灵活性而受到用户的青睐。本文档旨在全面介绍Apache服务器的配置方法,帮助用户...

    Apache服务器的设置全攻略

    ### Apache服务器设置全攻略 #### 一、Apache服务器配置概览 Apache服务器是全球范围内广泛使用的Web服务器之一,因其稳定性、可扩展性以及强大的功能受到众多用户的青睐。Apache的配置文件通常位于`/usr/local/...

    Apache服务全攻略之常规配置.docx

    Apache服务是世界上最流行的Web服务器软件之一,用于在互联网上托管网站和应用程序。本文将深入探讨Apache服务的常规配置,帮助你了解如何安装、管理和优化Apache服务器。 首先,我们需要安装Apache的相关软件包。...

    Windows下apache2.2+php+mysql安装及配置全攻略.pdf

    ### Windows下Apache 2.2 + PHP + MySQL安装及配置全攻略 #### 一、安装Apache 2.2及PHP ##### 1. 安装Apache 2.2 - **下载并安装Apache 2.2**: 使用提供的链接下载`apache_2.2.13-win32-x86-no_ssl.msi`安装包,...

    Windows下apache2.2+php+mysql安装及配置全攻略归类.pdf

    - 配置Apache的`httpd.conf`文件: - 修改`DocumentRoot`指向您的Web目录,例如`DocumentRoot "D:/wwwroot"`。 - 在`DirectoryIndex`行后添加`index.htm index.php`。 - 添加以下内容至文件末尾: ``` ...

    linux下codestriker配置全攻略

    这包括修改Apache的配置文件(如`/usr/local/apache2/conf/httpd.conf`),添加适当的虚拟主机配置,指向Codestriker的Web根目录,并确保所有必要的模块如mod_perl已启用。 Codestriker的安装涉及下载源码,解压并...

    PHP安装全攻略:APACHE

    2. **配置`httpd.conf`**:此文件是Apache的主要配置文件。你需要编辑此文件,以确保Apache能够识别并处理PHP请求。 - 找到`<Directory>`段落,将其中的路径更改为指向PHP的安装目录,如`<Directory "C:\PHP">`。 ...

    单机架站全攻略(CHM)

    安装Apache涉及下载安装包、配置服务器端口、编辑配置文件(如httpd.conf)以及启动和管理服务。用户还需要了解如何部署静态网页和动态网页(如PHP、JSP)。 3. **FTP服务器(serv-u)**:Serv-U是一款强大的FTP...

    Apache服务器配置攻略2

    Apache服务器配置全攻略(三)主服务器设置 Apache服务器需要各种设置,以定义自己使用各种参数以提供Web服务。对于使用虚拟主机的情况,除了在虚拟主机的定义项中覆盖的设置之外(有的设置必须重新定义),这里的...

    Apache + PHP + MySql+ 虚拟主机 设置全功略

    打开Apache的配置文件httpd.conf,找到`VirtualHost`配置段,添加多个虚拟主机配置,分别指定不同的域名、文档根目录和端口号。 例如: ``` *:80> DocumentRoot "c:/www/example1.com/public_html" ServerName ...

    php web环境一键安装

    **Linux一键安装Web环境全攻略.pdf** 这个PDF文档很可能是详细的安装指南,涵盖了从下载到验证安装的整个过程,包括可能遇到的问题及解决方法。用户应仔细阅读,以确保安装过程顺利进行。 总结起来,"php web环境...

    cacti安装全攻略

    ### Cacti安装全攻略:CentOS 5.4下的详细步骤 #### 一、Cacti概述 Cacti是一款开源的网络流量监控工具,它利用RRDTool的绘图模块来完成数据的存储与趋势图的绘制,能够帮助用户实现对网络设备的数据收集、分析及...

    Linux 配置WWW服务器全攻略

    Apache的主配置文件是`httpd.conf`,位于源代码安装时的`/usr/local/apache/conf/`目录或RPM安装时的`/etc/httpd/conf/`目录下。可以通过直接编辑配置文件或使用图形化工具(如Red Hat Linux 9自带的HTTP服务器设置...

    [论坛社区]凌云论坛LyBBS v6.5 Build20060816_lybbs6.5(毕设 + 课设).zip

    2. **httpd.conf**:这是Apache HTTP服务器的配置文件,用于设置服务器的行为,如监听端口、目录权限、虚拟主机等。在安装和配置LyBBS时,需要对这个文件进行适当的修改,确保论坛能够正确地运行在服务器上。 3. **...

Global site tag (gtag.js) - Google Analytics