首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何横向扩展php应用服务器?

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

Stack Overflow用户
提问于 2010-04-15 18:28:36
回答 1查看 3.8K关注 0票数 2

我使用lighttpd作为php应用服务器的webserver。平均。此服务器上的负载约为2-3。MySQL数据库被分离到另一台服务器上(负载约为0.4)。如何扩展php应用服务器?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-15 18:36:17

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

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

负载均衡服务器可以是一些专门的硬件;也可以是反向代理,使用Apache (例如,参见 )、nginx (例如,参见 )、varnish、...

在使用多个PHP服务器而不是多个PHP服务器时,通常会面临的最重要问题与文件系统有关:对于多个服务器,每个服务器都有自己的磁盘和文件系统。

例如,如果用户在服务器1上为一个页面随机平衡,而在服务器2上为另一个页面随机平衡,则不能使用基于文件的会话:该会话将在服务器1上创建,但稍后将在服务器2上找不到。

在这种特定情况下,您必须使用另一种机制来存储会话--例如,将它们存储在数据库或memcached中。

图片(例如,由用户上传)也有同样的问题:你必须选择:

  • 使用某种network-drive

  • 在服务器之间进行同步

在注释后编辑:对于部署,对于多个服务器,我通常会像只使用一台服务器一样执行操作。

关于我经常使用的过程的更多信息,你可以看看我之前对这个问题的回答:。

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

  • 将档案上传到您的每个servers
  • Extract it
  • ,并且几乎在同一时刻切换所有服务器上的符号链接
    • 最坏的情况下,您将在每个服务器之间有2到3秒的延迟,这意味着如果您有5台服务器,这意味着10秒?这可能不是什么大问题,:-)

(我已经为一个应用程序使用了多达7台服务器,并且从未遇到过任何问题)

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2644457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档