是否有理由安装Apache以外的Web服务器,如lighttp或nginx?

我经常在我的本地电脑上安装apache,以testing文件或在我的电脑上进行实验。 我使用的服务器通常是Apache。 有什么理由尝试其他的像lighttp或nginx?

对于绝大多数人来说,Apache提供了足够多的性能,function和灵活性。 只需花上一两个晚上的时间仔细阅读Apache文档即可了解丰富的function。

我有一个在shopping.com工作的同事说他们在mod_rewrite上build立了一个完整的公司

在某些情况下,替代Web服务器确实有意义 – 通常在超高性能和大型主机环境中,相反,在可能存在内存限制的情况下(如slicehost / linode VPS)

各种替代Web服务器的优点:

  • lighttpd – 以pipe理大量连接而闻名(多达10,000个)
  • nginx – 在有限的内存configuration下运行良好。

    一般来说,如果Apache不会给你带来任何困难,那么你就拥有了你所需要的所有function和function。 另一方面,如果您试图从256 MByte VPS中挤出几千个同时连接,您可能需要考虑检查nginx。

  • 这取决于网站types,负载,内容types等。nginx和lighttpd具有高性能和小内存/ cpu占用空间。 一般来说,如果您的网站只提供静态内容(图片,媒体等,没有dynamic网页为PHP),并有很多同时连接 – nginx或lighttpd可能是一个更好的select。 Apache是​​一个多function但更重量级的Web服务器,它是高度可configuration的,你可以为它提供任何types的内容。

    nginx / lighttpd的一个有趣和非常有用的应用是在它们后面代理一个apache服务器。 在这种情况下,nginx(或lighty)接受来自用户的连接,并直接向它们提供静态内容,但是向apache发送dynamic页面查询(php,cgi等)。 因此,Apache只处理dynamic页面,并将其发送回代理服务器(nginx,lighty),而这些代理服务器又将其提供给用户。 该scheme在高负荷的网站上非常有效。

    但总的来说,我同意ghs0 – 在大多数情况下,“你有你需要的所有function和function”与Apache。

    我有一个256M RAM的虚拟服务器。 为了托pipe我的PHP应用程序并保存在RAM中,我决定使用lighttpd / PHP-fcgi而不是Apache / mod_php 。 在我目前的设置中,我有6个PHP进程(4核心CPU的甜点)处理请求,一个lighttpd进程分派给他们。 因此,无论有多less用户来到网站,内存使用量始终保持不变。 虽然我没有进行负载testing,但是如果这个设置可以处理斜杠,我不会感到惊讶。 作为奖励,还有一些RAM留给memcached。

    Lighttpd相当全面。 它在启动时启动fcgi进程,closures它们(ngingx不会),mod_rewrite和其他好东西。 除此之外,configuration文件比Apache更强大。

    当然,给予足够的时间,我想你可以configurationApache这样的东西,但我想这将是没有乐趣,可能会使用更多的内存。

    我对我的旧网站服务器上的lighttpd / fast-cgi非常满意,这是一台500Mhz的Pentium II,内存为192MB。 有了apache,我经常使用200MB的交换文件,而lighttpd / fast-cgi几乎不会强迫系统触摸交换。

    如果你有RAM和处理能力来处理Apache,并且你已经有了它的经验,不,我怀疑你有任何迫切的需要改变。 如果你正在寻找更类似于Apache的轻量级应用程序,并且涵盖了一系列的web服务应用程序(尽pipeApache并不是那么多),但是使用fast-cgi的lighttpd是一个很好的select。

    lighttpd的configuration是相当不错的,直接的,例如, VirtualHost没有什么魔力, if你testingHTTP_HOST头并且把规则放进去,

    lighttpdmod_rewrite ,它比Apache的functionmod_rewrite一点,但是使用起来更简单(重写一次)。

    当基本重写不会削减它,lighttpd有mod_magnet ,它可以让你写在Lua重写。 学习Lua花费的时间less于在Apache上debugging平均mod_rewrite问题的时间

    lighttpd也有mod-trigger-b4-dlX-lighttd-sendfile ,两者都可以让你轻松实现文件访问与自定义身份validation机制(例如PHP脚本,保护文档的收集,lighttpd有效地处理文件的发送) 。

    Apache + mod_phpgettext恼人的问题,caching.mo文件,直到服务器重新启动。 我没有lighttpd这个问题。