我读了很多关于haproxy、nginx和apache等的文章,这是我的结论:
所以我的问题是哪一种设置更好?
我的安装将是两个单独的服务器,安装如下:负载均衡器、web服务器、PHP、MySQL用于读取
1单独的服务器,只用于MySQL写,然后复制到2从MySQL进行读取。
你认为如何?
发布于 2011-12-09 11:12:37
Haproxy和Nginx不是同一种野兽: haproxy只处理网络,从不触及文件系统。它永远不会为你提供静态的内容。另一方面,它将执行比任何成熟的HTTP服务器(如Nginx和Apache )高出一个数量级。
have也是一个复杂的负载均衡器,您需要使用它。
在我的例子中,我将在单个服务器或琐碎的设置上使用nginx或Apache多达10,000个同时连接,因为它很好地完成了工作,并且全部由它自己完成。对于更复杂的体系结构(许多服务器、高吞吐量),需要像many这样的专用负载均衡器。
Nginx对Apache是一个没有意义的IMHO。我可以在一台像样的服务器上扩展到10,000个并发客户端(比如4核和4G RAM),如果Nginx在资源上稍微轻一点,那么这并没有什么区别,因为大多数情况下,应用程序(Rails、Django、PHP等)都是CPU+memory负担的90%。
我要说的是:使用您最满意的web服务器。OTOH它是真正的谷歌Apache食谱是充满了胡扯,它需要仔细阅读(大型和非常好的)文档。作为一只阿帕奇恐龙,我对它非常满意。但是,如果您是HTTP服务器的新手,我想Nginx就不那么吓人了,更酷了。Apache和Nginx都非常可靠。
至于PHP,我将Apache与工人MPM和FastCGI结合使用。简单高效。我很久以前就在http://forge.bearstech.com/trac/wiki/DebianLamp上记录了这一点:在Debian6.0上甚至更容易,但我没有记录它。
在我看来,您的设置似乎很好(Haproxy + Apache或Nginx,然后通过FastCGI进行PHP )。将负载均衡器放在每个前端服务器上,而不是在一个不同的节点上(这将成为一个SPOF)是一个好主意。而且它更简单,因为每个节点运行相同的设置。添加一个IP失败,你就完成了。
https://serverfault.com/questions/339200
复制相似问题