Apache服务器配置全攻略(一)
Apache服务器的设置文件位于/usr/local/apache/conf/目录下,传统上使用三个配置文件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/apache/conf

  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中,所有的设置都被放在了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守护进程运行时需要的参数,来决定其运行方式和运行环境。

  ServerType standalone

  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服务器都需要独立的设置文件htt pd.conf,并使用不同的ScoreBoardFile。

  #ResourceConfig conf/srm.conf

  #AccessConfig conf/access.conf

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

  Timeout 300

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

  KeepAlive On

  在HTTP 1.0中,一次连接只能作传输一次HTTP请求,而KeepAlive参数用于支持HTTP 1.1版本的一次连接、多次传输功能,这样就可以在一次连接中传递多个HTTP请求。虽然只有较新的浏览器才支持这个功能,但还是打开使用这个选项。
 
  MaxKeepAliveRequests 100
 
  MaxKeepAliveRequests为一次连接可以进行的HTTP请求的最大请求次数。将其值设为0将支持在一次连接内进行无限次的传输请求。事实上没有客户程序在一次连接中请求太多的页面,通常达不到这个上限就完成连接了。

  KeepAliveTimeout 15

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

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

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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/374079/viewspace-131935/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/374079/viewspace-131935/

[转载]Apache服务器配置全攻略(一)相关推荐

  1. [转载]Apache服务器配置全攻略(二)

    Apache服务器配置全攻略(二) MinSpareServers 5 MaxSpareServers 10 在使用子进程处理HTTP请求的Web服务器上,由于要首先生成子进程才能处理客户的请求,因此 ...

  2. apache 修改服务器配置,Apache服务器配置全攻略

    在使用子进程处理HTTP请求的Web服务器上,由于要首先生成子进程才能处理客户的请求,因此反应时间就有一点延迟.但是,Apache服务器使用了一个特殊技术来摆脱这个问题,这就是预先生成多个空余的子进程 ...

  3. 阿帕奇服务器配置站点,Apache服务器配置全攻略

    在商业评测中忽略了的另一个事实是,评测时往往对不同种类的功能进行比较,例如使用Apache的标准CGI 的性能与ISAPI,NSAPI等服务器端API比较,事实上Apache服务器与此可以比较的功能为 ...

  4. 阿里云ECS服务器配置全攻略 1

    阿里云ECS服务器配置全攻略 1.登录阿里云:https://www.aliyun.com/    点击右上角登录账号 2.点击右上角的"控制台",进入阿里云控制台界面 3.点击左 ...

  5. 阿里云ECS服务器配置全攻略

    1.登录阿里云:https://www.aliyun.com/    点击右上角登录账号 2.点击右上角的"控制台",进入阿里云控制台界面 3.点击左边"云服务器ESC& ...

  6. [转载]Linux用户管理全攻略(八)

    原文地址:Linux用户管理全攻略(八)作者:ZOL_心蓝蓝 Linux 系统中的超级权限的控制 作者:北南南北 赞助: eTony,pandonny,懒猫, Arch 来自:LinuxSir.Org ...

  7. [转载]你们要的GIF动图制作全攻略!看完就会做!(实操教程)

    非常实用呀 原文地址:你们要的GIF动图制作全攻略!看完就会做!(实操教程)作者:木木老贼 来源:文案匠(ID:sun-work) 作者:一木(授权转载,如需转载请联系文案匠) 文章配图的GIF动图怎 ...

  8. Andriod界面设计的分辨率和尺寸适配全攻略 转载

    Andriod界面设计的分辨率和尺寸适配全攻略 转载 2016年09月27日 17:45:56 第一.屏幕尺寸: 一般表示是手机的实际物理尺寸,屏幕尺寸指屏幕的对角线的长度,单位是英寸,1英寸=2.5 ...

  9. 【干货】Chrome插件(扩展)开发全攻略-转载

    [干货]Chrome插件(扩展)开发全攻略 写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这 ...

最新文章

  1. 服务器日志显示乱码,CentosOS 6.5 服务器 控制台输出中文乱码,日志打印中文也乱码...
  2. R语言ggplot2可视化在ggplot2生成的可视化结果下方显示文本:显示一些关于数据的信息
  3. HTTPS_SSL配置的步骤以及原理说明
  4. autoencoder
  5. web安全—XSS攻击(二)
  6. 计算机网络的体系结构与协议基本概念,计算机网络技术基础-第3章网络体系结构与协议.ppt...
  7. SQL优化二(SQL性能调优)
  8. 逻辑回归的通俗解释 逻辑回归的定位
  9. vue 页面切换动画_Flutter Hero动画让你的APP页面切换充满动效 不一样的体验 不一样的细节处理...
  10. 【转】SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤
  11. python2还能用吗_官方推荐python3,为何还有人在用python2呢?
  12. 各种锁的介绍、锁之间的区别
  13. 字符编码详解及由来(UNICODE,UTF-8,GBK)
  14. PHP 编写接口并在header中进行简单的校验
  15. gif一键抠图 在线_给视频抠图?这个在线免费神器超厉害
  16. 写给父亲的语音计算器(‘(‘‘)‘括号优先级处理递归算法c#,一)
  17. 好用免费的在线PDF转换工具推荐
  18. 《计算机寓言 - 信息时代的启示》【转载】
  19. 获取星期一,获取第几周
  20. java鸡兔同笼:鸡兔同笼,鸡与兔,一共35只,共有94条脚,问,一个鸡有多少只,兔有多少只?

热门文章

  1. Win10如何切换Administrator账户
  2. java u0100_《Groovy语言规范》
  3. android wifi软件下载,WiFi使者app下载-WiFi使者 安卓版v2.5.4-PC6安卓网
  4. RocketMQ 在联想大数据中的应用简析
  5. [原]数据科学教程:R语言与NoSQL
  6. 研究生学历的我嫁给了只有大专文凭的程序员,我从不后悔
  7. mac 下载navicat premium提示文件损坏的解决方案
  8. Python3使用动态规划处理01背包问题
  9. opencv高速下载
  10. 万泽云库:新用户虚拟资源收入