网站运营
位置:首页>> 网站运营>> Apache服务器配置全攻略(二)

Apache服务器配置全攻略(二)

作者:穷鬼 来源:团团的园子 发布时间:2008-01-09 13:00:00 

标签:Apache,配置,服务器

MinSpareServers 5MaxSpareServers 10

在使用子进程处理HTTP请求的Web服务器上,由于要首先生成子进程才能处理客户的请求,因此反应时间就有一点延迟。但是,Apache服务器使用了一个特殊技术来摆脱这个问题,这就是预先生成多个空余的子进程驻留在系统中,一旦有请求出现,就立即使用这些空余的子进程进行处理,这样就不存在生成子进程造成的延迟了。在运行中随着客户请求的增多,启动的子进程会随之增多,但这些服务器副本在处理完一次HTTP请求之后并不立即退出,而是停留在计算机中等待下次请求。但是空余的子进程副本不能光增加不减少,太多的空余子进程没有处理任务,也占用服务器的处理能力,因此也要限制空余副本的数量,使其保持一个合适的数量,使得既能及时回应客户请求,又能减少不必要的进程数量。

因此就可以使用参数MinSpareServers来设置最少的空余子进程数量, 以及使用参数MaxSpareServers 来限制最多的空闲子进程数量,多余的服务器进程副本就会退出。根据服务器的实际情况来进行设置,如果服务器性能较高,并且也被频繁访问,就应该增大这两个参数的设置。对于高负载的专业网站,这两个值应该大致相同,并且等同于系统支持的最多服务器副本数量,也减少不必要的副本退出。
  
  
    StartServers 5
  
    StartServers参数就是用来设置httpd启动时启动的子进程副本数量,这个参数与上面定义的MinSpareServers和MaxSpareServers参数相关,都是用于启动空闲子进程以提高服务器的反应速度的。这个参数应该设置为前两个值之间的一个数值,小于MinSpareServers和大于MaxS pareServers都没有意义。
  
  
    MaxClients 150
  
    在另一方面,服务器的能力毕竟是有限的,不可能同时处理无限多的连接请求,因此参数Maxclient s就用于规定服务器支持的最多并发访问的客户数,如果这个值设置得过大,系统在繁忙时不得不在过多的进程之间进行切换来为太多的客户进行服务,这样对每个客户的反应就会减慢,并降低了整体的效率。如果这个值设置的较小,那么系统繁忙时就会拒绝一些客户的连接请求。当服务器性能较高时,就可以适当增加这个值的设置。对于专业网站,应该使用提高服务器效率的策略,因此这个参数不能超过硬件本身的限制,如果频繁出现拒绝访问现象,就说明需要升级服务器硬件了。对于非专业网站,不太在意对客户浏览器的反应速度,或者认为反应速度较慢也比拒绝连接好,就也可以略微超过硬件条件来设置这个参数。

这个参数限制了MinSpareServers和MaxSpareServers的设置,它们不应该大于这个参数的设置。
  
  
    MaxRequestsPerChild 30
  
    使用子进程的方式提供服务的Web服务,常用的方式是一个子进程为一次连接服务,这样造成的问题就是每次连接都需要生成、退出子进程的系统操作,使得这些额外的处理过程占据了计算机的大量处理能力。因此最好的方式是一个子进程可以为多次连接请求服务,这样就不需要这些生成、退出进程的系统消耗,Apache就采用了这样的方式,一次连接结束后,子进程并不退出,而是停留在系统中等待下一次服务请求,这样就极大的提高了性能。
  
    但由于在处理过程中子进程要不断的申请和释放内存,次数多了就会造成一些内存垃圾,就会影响系统的稳定性,并且影响系统资源的有效利用。因此在一个副本处理过一定次数的请求之后,就可以让这个子进程副本退出,再从原始的httpd进程中重新复制一个干净的副本,这样就能提高系统的稳定性。这样,每个子进程处理服务请求次数由MaxRe questPerChild定义。 缺省的设置值为30,这个值对于具备高稳定性特点的Linux系统来讲是过于保守的设置,可以设置为1000甚至更高,设置为0支持每个副本进行无限次的服务处理。
  
  
    #Listen 3000
  
    #Listen 12.34.56.78:80
  
    #BindAddress *
  
    Listen参数可以指定服务器除了监视标准的80端口之外,还监视其他端口的HTTP请求。由于FreeBSD系统可以同时拥有多个IP地址,因此也可以指定服务器只听取对某个BindAddress< /B>的IP地址的HTTP请求。如果没有配置这一项,则服务器会回应对所有IP的请求。

即使使用了BindAddress参数,使得服务器只回应对一个IP地址的请求,但是通过使用扩展的Listen参数,仍然可以让HTTP守护进程回应对其他IP地址的请求。此时Listen参数的用法与上面的第二个例子相同。这种比较复杂的用法主要用于设置虚拟主机。此后可以用VirtualHost参数定义对不同IP的虚拟主机,然而这种用法是较早的HTTP 1.0标准中设置虚拟主机的方法,每针对一个虚拟主机就需要一个IP地址,实际上用处并不大。在HTTP 1.1中,增加了对单IP地址多域名的虚拟主机的支持,使得虚拟主机的设置具备更大的意义。
  
  LoadModule mime_magic_module libexec/apache/mod_mime_magic.so
  
  LoadModule info_module libexec/apache/mod_info.so
  
  LoadModule speling_module libexec/apache/mod_speling.so
  
  LoadModule proxy_module libexec/apache/libproxy.so
  
  LoadModule rewrite_module libexec/apache/mod_rewrite.so
  
  LoadModule anon_auth_module libexec/apache/mod_auth_anon.so
  
  LoadModule db_auth_module libexec/apache/mod_auth_db.so
  
  LoadModule digest_module libexec/apache/mod_digest.so
  
  LoadModule cern_meta_module libexec/apache/mod_cern_meta.so
  
  LoadModule expires_module libexec/apache/mod_expires.so
  
  LoadModule headers_module libexec/apache/mod_headers.so
  
  LoadModule usertrack_module libexec/apache/mod_usertrack.so
  
  LoadModule unique_id_module libexec/apache/mod_unique_id.so
  
  
  ClearModuleList
  
  AddModule mod_env.c
  
  AddModule mod_log_config.c
  
  AddModule mod_mime_magic.c
  
  AddModule mod_mime.c
  
  AddModule mod_negotiation.c
  
  AddModule mod_status.c
  
  AddModule mod_info.c
  
  AddModule mod_include.c
  
  AddModule mod_autoindex.c
  
  AddModule mod_dir.c
  
  AddModule mod_cgi.c
  
  AddModule mod_asis.c
  
  AddModule mod_imap.c
  
  AddModule mod_actions.c
  
  AddModule mod_speling.c
  
  AddModule mod_userdir.c
  
  AddModule mod_proxy.c
  
  AddModule mod_alias.c
  
  AddModule mod_rewrite.c
  
  AddModule mod_access.c
  
  AddModule mod_auth.c
  
  AddModule mod_auth_anon.c
  
  AddModule mod_auth_db.c
  
  AddModule mod_digest.c
  
  AddModule mod_cern_meta.c
  
  AddModule mod_expires.c
  
  AddModule mod_headers.c
  
  AddModule mod_usertrack.c
  
  AddModule mod_unique_id.c
  
  AddModule mod_so.c
  
  AddModule mod_setenvif.c
  
  
  Apache服务器的一个重要特性就是其模块化的结构,这不但表现为其能在编译时能通过新的模块加入新的功能,还表现为其模块可以动态加载入http服务程序中,而不必载入不需要的模块。使用Apache的动态加载模块只需要设置好Load Module和AddModule参数就可以了,这种特性就是Apache的 DSO(Dynamic Shared Object)特性,然而要想充分使用DSO特性仍然不是一个简单的事情,不适当的改动这里的设置就可能造成服务器不能正常启动。因此如果不是要增加或减少服务器提供的功能,就不要改动这里的设置。

面这些列表就显示了Linux下的缺省Apache服务器支持的模块,事实上很多模块是没有必要的,不必要模块不会被载入内存。模块可以静态连接到pache 服务器内部,也可以这样动态加载,将Apache的特性都编译成动态可加载模块是该Port的做法,而不是Apache的缺省做法,这样就以牺牲很小的性能的同时,带来极大的灵活性。

因而动态可加载的能力还是对性能有轻微的影响,因此可以重新编译Apache,将自己所需要的功能编译进Apache 服务器内部,可以让系统显得更为干净,效率也有轻微的提高。通常仅仅为了这一个目的就重新编译Apache是没有必要的,如果需要增加其他特性而重新编译Apache,不妨在增加其他模块的同时将所有的模块都静态连接入Apache 服务器。有的使用者更喜欢动态加载模块,那么也不妨全部都使用动态加载模块。

这些模块都被放置到/usr/local/apache/libexec/目录下, 每个模块对应Apache服务器的一个特性。详细解释每个模块的功能需要相当多的篇幅,其中比较重要的特性将在后面相应的地方中进行解释,而具体每个模块的功能及用法就需要查看Apache的文档。
  
  
    #ExtendedStatus On
  
    Apache服务器可以通过特殊的HTTP请求,来报告自身的运行状态,打开这个ExtendedStatus 参数可以让服务器报告更全面的运行状态信息。

0
投稿

猜你喜欢

  • 组装服务器并托管服务器纪实自己买了虚拟主机及VPS,用着感觉还可以,但是性能和稳定性还是有很大的瓶颈。忍不住了,今日自己跑到中关村组装了一台
  • 众所周知,QQ和MSN已经成为中国各阶层网民普遍使用的IM工具,而且这个市场还在扩大之中。根据中国互联网络信息中心(CNNIC)在今年1月发
  • 有时候,我们需要在WINDOWS服务器中安装多个不同版本的PHP环境,或采用不同的PHP.ini配置,例如在使用中国E商务网的IONCUBE
  • 如果你的VPS上有个文件要传到另一个VPS上,最最简单的方法有两种。一个是先下载到本地,然后上传到另一个VPS,这个方法的缺点是速度慢。另一
  • Discuz作为最为成功的论坛产品,成功原因有很多,简单先说说它的可定制性及插件功能吧。当然很多功能也不是DZ独有的。DZ的可定制性表现在几
  • 在局域网内,ARP攻击依然占有很高比例。众所周知,ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利
  • 了解网赚,有一年整了。注册,点击,投票。都做过。首先说注册,注册是一个简单,但麻烦的任务,有些地方是限制地区的,有些地方是限制时间的。很多广
  • 其实,Windows2000 含有很多的安全功能和选项,如果你合理的配置它们,那么windows 2000将会是一个很安全的操作系统。具体清
  • 核心提示:搜索引擎与搜索引擎营销之间的关系,究竟什么才是未来的发展方向?我们的目的是什么?本质上都是从用户出发,可究竟未来可变的路线是什么?
  • 我是一个菜鸟,很菜的那种,在网上下载了个程序,然后放到了网上,就那样放着很少管它。期间我经历了网站被人挂马,idc服务商虚拟主机不稳定,网站
  • 邮件系统的选型与架构专题(上篇) 邮件系统服务器的安装和配置有关Qmail邮件系统的安装介绍很多,这里不再赘述。下面主要说明搭建Qmail邮
  • 标签做为SEO中最普及的优化手段,在SEO被人们认识的初期,站长因此项设置而明显改善了网站的搜索引擎排名大为兴奋。但随着黑帽SEO的发展,搜
  • 越来越多研究Goolge排名的SEO人发现,Google的排名算法现在越来越倾向于增加用户在网站上的行为模式。比如说他们在网站上停留多久?他
  • 很大意义上的传统社区指的论坛,论坛是伴着一些老网虫们共同成长起来的,泡论坛成了网虫们的爱好之一,从个人主页的时代到现在SNS满天飞的世界,论
  • 下面我们以大家常用的sina邮箱为例说明如何进行UCenter Home的邮件设置。一、UCenter Home后台设置1、首先要保证您已经
  • 北京时间10月28日消息,据国外媒体报道,Facebook昨日召开了年度Facebook 开发者大会,表示Facebook用户十分热衷于游戏
  • 自己参考那个自动生成文章html 写了个自动更新首页html的插件---不应该叫插件,叫做文件! 呵呵 很简单应用领域:对于向我这样,首页用
  • 企业信息化技术的应用,以不可逆转。随着文件服务器、ERP管理软件等等在企业中生根发芽,应用服务器也逐渐在企业中普及起来。以前在企业中有一台应
  • 笔者所在的环境是有三十台机器组成的一个小型局域网络,服务器采用 Windows 2000 Server,工作站为Windows 2000 p
  • 代理服务器的功能是代理网络用户取得网络信息,它是网络信息的中转站。随着代理服务器的广泛使用,随之而来的是一系列的安全问题。由于没有对代理服务
手机版 网站运营 asp之家 www.aspxhome.com