Magento: Lighttpd与Nginx的比较

6
1个回答

16

你应该放弃Apache吗?

根据我的经验(使用Nginx + PHP约3.5年),它是一个绝佳的选择,我永远不会回到Apache。有两个主要优点:

减少内存使用:使用Apache,PHP被加载在web服务器中。如果您有80个Apache进程在监听,他们每个人将运行不同的PHP环境,每个占用20-30MB的RAM。另一方面,Nginx与一堆独立的php-fpm进程通信,你可以单独扩展它们。我通常只需要运行3-4个PHP进程,因此这大大减少了我的内存使用。

非常快的静态资源:Nginx比Apache在提供静态资源(CSS、JS、图片等)时更快,并且使用的内存非常少。

一个可能的缺点是缺乏.htaccess文件支持。这意味着如果您正在使用的PHP软件依赖于这种类型的文件,并且没有直接提供Nginx配置示例,那么您将不得不将Apache .htaccess文件“转换”为Nginx可以理解的格式。根据我的经验,我必须为一些WordPress插件做这样的转换。再次说明,这并不太复杂,你通常可以通过搜索找到已经完成过这个转换的人。

另一件需要记住的事情是Nginx + PHP-FPM不是什么神奇的灵丹妙药。如果您有糟糕、缓慢的PHP代码,这并不能解决问题。我对Magento的了解有限,所以无法提供任何具体的见解。在WordPress的情况下(我认为它非常臃肿),Nginx确实比较快地提供静态内容,使用更少的内存,并且在提供PHP页面时要快一些,但它肯定不能将您的PHP执行时间减半 ;)

Nginx vs Lighttpd

Nginx和Lighttpd都是高性能的Web服务器,但是Nginx相对更流行和成熟。Nginx拥有一些功能,如HTTP反向代理、负载均衡和缓存,而Lighttpd则专注于简单性和速度。两者都适合用于高流量的网站,但如果需要更多的高级功能和扩展性,则选择Nginx可能更好。

Nginx最近变得非常受欢迎。根据这些统计数据,它的使用率在过去一年中几乎翻了一倍,已经比基于Lighttpd的服务器使用次数多16倍。

两者之间在性能上似乎没有太大差异,因此我肯定会选择Nginx。

请记住,您需要使用PHP作为php-fpm。这并不难配置,并且有无数易于理解的教程可以帮助您将它们配合使用。

编辑: 抱歉,我重新组织了我的回答,一开始可能没有抓住您的问题重点。


我需要更多有关Magento实现的具体信息。我知道Magento依赖于.htaccess,但我知道可以为nginx web服务器配置它。 - jrosell
2
你在编辑中发布的链接提供了一个很好的Magento配置示例。我不知道它是哪个版本的,但是这篇文章报告说它适用于1.4和1.5版本(并提供了安装Nginx + PHP-FPM的完整说明)。还有什么需要了解的吗? - MartinodF
虽然我原则上同意这个答案,但是@MartinodF并没有提供任何真正的引用材料(除了更多人使用X)来支持这里的众多主张。 - h0tw1r3
很抱歉,我现在没有足够的时间进行详尽的研究。如果你自己谷歌“Lighttpd Nginx”,你会发现有很多基准测试和比较。你是否想根据这些合成基准来决定使用什么,就取决于你了。当我回答这个问题时,Lighttpd和Nginx在性能方面似乎差不多,所以我建议选择更受欢迎(超过一个数量级)的选择。在我看来,更受欢迎意味着更多的资源、教程、SO问题等,可以帮助你在需要时获得支持,这对于初学者来说总是很好的。 - MartinodF
1
顺便说一下,你应该阅读一下stackoverflow关于投票否决的FAQ部分:"每当你遇到一个极其草率、没有付出努力的帖子或者一个明显且可能危险错误的答案时,请使用你的否决权。" 我真的不认为我的回答符合这个标准。 - MartinodF
可能需要包括一些关于nginx配置漏洞的内容。 - bug

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接