`
iym119ra
  • 浏览: 13140 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

linux apache配置(续)

 
阅读更多

linux apache配置(续)
2011年07月12日
  二、多路处理模块的配置说明
  Apache HTTP服务器是一个强大的、灵活的能够在多种平台、不同环境下运行的Web服务器。由于不同的平台和不同的环境经常产生不同的需求,为了达到同样的最佳效果则需要采取不同的实现方法, Apache的模块化设计就可以很好的适应大量不同的环境。使得网站管理员能够在编译和运行时凭借载入不同的模块来决定服务器的附加功能。Apache的多路处理模块(MPM)就是用于选择处理网络端口绑定、接受请求并指派子进程处理来自客户端的请求。
  默认的MPM
  下表列出了不同操作系统上默认的MPM。如果编译时没有进行选择,这将是默认选择的MPM。
  操作系统名称
  MPM名称
  BeOS
  beos
  Netware
  mpm_netware
  OS/2
  mpmt_os2
  Unix
  prefork
  Windows
  mpm_winnt
  1prefork.c模块(一个非线程型的、预派生的MPM)
  prefork.c模块是由一个单独的控制进程(父进程)负责产生子进程,这些子进程用于监听请求并作出应答。Apache设置了一些备用的(spare)或者是空闲的子进程来处理即将接收的请求,这样可以避免服务器接收到请求后在创建子进程。在Unix系统中,父进程通常以root身份运行以便邦定80端口,而 Apache产生的子进程通常以一个低特权的用户运行。User和Group参数就是用于设置子进程的低特权用户。运行子进程的用户必须要对它所服务的内容有读取的权限,但是对服务内容之外的其他资源最好拥有尽可能少的权限。
  【配置示例】
  [/b]
  [b]StartServers             8

  MinSpareServers         5
  MaxSpareServers        20
  ServerLimit            400
  MaxClients            256
  MaxRequestsPerChild 4000
  [/b]
  【参数说明】
  [b]1.ServerLimit

  默认的MaxClient最大是256个线程,如果想设置更大的值,就需要修改ServerLimit这个参数。例子中的400是ServerLimit这个参数的最大值。如果需要更大,则必须编译apache,此前都是不需要重新编译Apache。
  2.StartServers
  指定服务器启动时建立的子进程数量,因为子进程的数量动态的取决于负载的轻重,所以一般没有必要调整这个参数,prefork模式默认为5。
  3.MinSpareServers
  指定空闲子进程的最小数量,所谓空闲子进程是指没有正在处理请求的子进程。默认为5。如果当前空闲子进程数少于MinSpareServers ,那么Apache将以最大每秒一个的速度产生新的子进程,只有机器在非常繁忙的情况下才需要调整这个参数。
  4.MaxSpareServers
  设置空闲子进程的最大数量。默认为10。如果当前有超过MaxSpareServers数量的空闲子进程,那么父进程将杀死多余的子进程。如果该参数的值设置比MinSpareServers小,Apache则会自动将其修改成"MinSpareServers+1"。
  5.MaxClients
  指可以服务于客户端请求的最大子进程数量,即限定同一时间客户端最大接入请求的数量,默认值为256。任何超过MaxClients限制的请求都将进入等候队列,一旦一个连接被释放,队列中的请求将得到服务。
  6.MaxRequestsPerChild
  每个子进程在其生存期内允许处理的最大请求数,默认为10000.到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为"0",子进程将永远不会结束。这个参数也可以理解成控制服务器杀死旧进程产生新进程的频率。
  注意:
  从系统稳定性来考虑将MaxRequestsPerChild设置成非零有两个好处:
  1.可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
  2.给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
  【工作原理介绍】
  首先服务启动后会创建以StartServers个数的进程,然后等待来自客户端的请求。我们这里先假设从客户端来了大量的请求,这时Apache服务器会根据自身的负载情况自动创建新进程,如果服务器一直没有空闲进程那么它就会一直创建新进程,直到满足MaxClients和ServerLimit设置的最大值。如果来自客户端的负载没有那么大,Apache服务器将会根据MinSpareServers、MaxSpareServers和MaxRequestsPerChild设置的值来杀掉多余的进程。其中每个进程在某个确定的时间只能维持一个连接。
  【小结】
  上面叙述的这些参数中,对系统性能影响较大的有两个:MaxClients 和ServerLimit。这个两个参数主要影响Web服务器处理客户端请求的能力,它们决定着服务器创建用来处理请求的进程的最大值。如果来自客户端的请求总数已经达到系统创建进程的最大值(可通过ps -ef|grep http|wc
分享到:
评论

相关推荐

    Linux Apache Web 服务器(续一)

    你只需要将装上Linux+Apache的主机联入Internet,然后将主页存放到“/home/httpd”目录下即可。  下面介绍一些最主要的配置选项的含义,以便大家用最小的精力、最小的配置准备好服务器。  4.1 httpd.conf  httpd...

    106网盘自动发卡平台源码 v1.3

    106云盘自动发卡平台网盘系统系统环境:推荐使用 Apache 进行搭建配置,目前支持 Apache 与 Linux (不支持IIS),PHP5.4以上版本 PHP5.6以下版本MYSQL5.1 以上版本都支持阿里云存储表格 (这个非常关键 主要存储 ...

    使用Subversion进行版本控制(针对 Subversion 1.4)

    基本的 Apache 配置 认证选项 基本HTTP认证 SSL 证书管理 授权选项 整体访问控制 每目录访问控制 禁用基于路径的检查 额外的糖果 版本库浏览 Apache 日志 其它特性 基于路径的授权 支持多种版本库访问方法 7. 定制你...

    SVN使用手册中文版快速入门

    基本的Apache配置 认证选项 基本HTTP认证 SSL证书管理 授权选项 整体访问控制 每目录访问控制 关闭路径为基础的检查 额外的糖果 版本库浏览 其它特性 支持多种版本库访问方法 7. 高级主题 运行配置区 配置区布局 ...

    SVN使用手册中文版.chm

    基本的Apache配置 认证选项 基本HTTP认证 SSL证书管理 授权选项 整体访问控制 每目录访问控制 关闭路径为基础的检查 额外的糖果 版本库浏览 其它特性 支持多种版本库访问方法 7. 高级主题 运行配置区 配置区布局 ...

    KODExplorer 芒果云-资源管理器

    - 全平台兼容性:Win Linux Mac (Apache、Nginx、IIS) #### 2.使用场景: - 取代FTP,服务端、客户端软件等复杂的安装配置。kod可以一键安装随处使用. - 你可以用它来管理你的服务器(备份,在线解压缩,版本发布......

    python入门到高级全栈工程师培训 第3期 附课件代码

    02 ip地址配置 03 虚拟机网络模式 04 三层隔离验证试验 第8章 01 上节课复习 02 软件包介绍 03 rpm软件包管理 04 yum软件包管理 05 源码安装python3.5 06 ssh服务 07 apache服务 08 samba服务 第9章 01 Python...

    JAVA上百实例源码以及开源项目

    百度云盘分享 简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对...

    JAVA上百实例源码以及开源项目源代码

    简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!...

Global site tag (gtag.js) - Google Analytics