当前位置:  开发笔记 > 编程语言 > 正文

如何横向扩展php应用服务器?

如何解决《如何横向扩展php应用服务器?》经验,为你挑选了1个好方法。

我正在使用lighttpd作为php应用服务器的webserver.平均 此服务器上的负载大约为2-3.MySQL数据库被分离到另一台服务器(它的负载为~0.4).我怎么能缩放php应用服务器?

谢谢.



1> Pascal MARTI..:

简而言之,一般来说,解决方案是:

有几个PHP服务器

在那些之前有另一个负载平衡服务器

如果你有3个PHP服务器,那么这个负载均衡器将发送它在每个PHP服务器上收到的33%的请求.

负载平衡服务器可以是一些专用硬件; 或反向代理,使用Apache (参见mod_proxy_balancer例如),nginx (例如,参见使用Nginx的负载平衡),清漆,...


使用多个PHP服务器而不是一些PHP服务器时,通常会遇到的最重要问题与文件系统有关:使用多个服务器,每个服务器都有自己的磁盘和文件系统.

例如,如果用户在服务器1上为一个页面随机平衡,而服务器2在另一个页面上随机平衡,则不能使用基于文件的会话:会话将在服务器1上创建,但在服务器2上找不到,稍后.
在这种特定情况下,您将不得不使用另一种机制来存储会话 - 例如,将它们存储在数据库或memcached中.

与图像相同的内容(例如,用户上传):您必须:

在服务器之间同步它们

或者使用某种网络驱动器


评论后编辑:对于部署,使用多个服务器,我通常只使用一台服务器.

有关我经常使用的过程类型的更多信息,您可以看一下我在这个问题上给出的答案:在没有任何停机的情况下更新Web应用程序.

给出的解释是针对一台服务器,但要在多台服务器上执行相同的操作,您可以:

将存档上传到您的每台服务器

提取它

并且,几乎在同一时刻,在所有服务器上切换符号链接

在最坏的情况下,每台服务器之间会有2到3秒的延迟,如果你有5台服务器,这意味着10秒钟?这可能不是一个大问题:-)

(我已经完成了多达7台服务器,一个应用程序,从来没有任何问题)

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有