yro*_*sen 5 linux web-server high-availability wordpress apache-2.2
我正在重建一个网站,目前每个月的访问量超过 400 万(而且最近一直在上升)。它目前由一家外部公司运行和托管,但我们正在抛弃它们,所以我需要设计托管。
我正在考虑构建一个小集群(可能在 Linode 上):
一个 Linode NodeBalancer来平衡应用服务器之间的负载。它可以让来自特定客户端的所有流量都流向一个应用程序服务器,但 WP 通过 cookie 处理会话,因此这并不重要。
两个(或更多)应用服务器- Linode(512?)VPS 运行 Debian6/Apache2/PHP5/Wordpress,但nginx 用于缓存。
开发是在一个普通的旧 FBSD/Apache2/MySQL/PHP5 内部完成的,部署只会一次将新代码推送到所有应用程序服务器,并将任何数据库更改推送到数据库服务器。
备份将存储在本地。我们可以在低流量时间备份一个应用程序服务器(它们应该是相同的?)以降低负载。
电子邮件是通过 MailChimp 处理的。简单。
WP 本身正在使用 Xcache 运行 W3 Total Cache,我正在考虑为图像和其他静态文件使用 CDN,缓存标头已经用于这些静态文件......
计划是随着我们的扩展,我可以根据需要添加更多的应用程序和/或数据库服务器。
简而言之:这个设置行得通吗?会不会有效率?我以前从未构建过这样的东西,所以我想确保我没有遗漏任何东西。
仅供参考:这是一个新闻网站。我们在几个部分、一些媒体上运行文章,访问者可以对文章发表评论、注册我们的电子邮件列表等。
我正在与另一家公司建立类似的公司。我不一定评论 Linode 的工作原理,但想强调一下我在研究 VPS 时遇到的一些事情:
我不知道 linode 负载均衡器的成本,但我发现我喜欢控制运行 HAProxy 或 NGINX 的通用 VPS 的配置以实现负载均衡(我选择了 HAproxy)。
确保你有足够的内存。不幸的是,到目前为止,我发现的公开产品不允许您调整 RAM 和 HDD 的数量(我需要更多 RAM,但不需要那么多 HDD。哦,好吧)。
确保您的 VPS 是持久的。您不希望在 VPS 关闭或硬件故障时丢失在 VPS 上运行的数据(尤其是 MySQL)。这是 MySQL 的 EC2 文档,但一些相同的概念也适用)。
一定要确保将 MySQL 复制到不同的服务器,甚至多个从属服务器。不想丢失数据。
一定要确保将备份检索到异地服务器。
如果您要部署到多个负载平衡服务器(2 个或更多应用程序服务器),请拥有一个“主”服务器,用于备份 rsync 以更新代码。这简化了您的开发推送过程(将主设备从负载平衡方案中取出,确保从设备不会从旧主设备进行rsync,将代码推送到主设备,确保一切按预期工作,重新打开从主设备到从设备的rsync,然后将主服务器添加回负载平衡方案)。
我确信还有更多,但问题中概述的设置似乎很好。
| 归档时间: |
|
| 查看次数: |
2070 次 |
| 最近记录: |