将托管的 LAMP 站点迁移到 AWS

Posted

技术标签:

【中文标题】将托管的 LAMP 站点迁移到 AWS【英文标题】:Migrate hosted LAMP site to AWS 【发布时间】:2011-11-10 23:54:05 【问题描述】:

有没有一种简单的方法可以将托管的 LAMP 站点迁移到 Amazon Web Services?我有一些爱好网站和家庭成员的网站,与我们在 AWS 上支付的费用相比,我们每月花费的钱太多了。

我想迁移到 AWS 的典型 el Cheapo 示例:

GoDaddy 域 网站托管在 1&1 或 MochaHost 特定目录结构中的一些 php 文件 一个小型 mysql 数据库 .htaccess 文件,用于 URL 重写等

我在网上找到的教程需要 PuTTY、Linux 命令等。虽然这些并不是可以想象的最繁琐的障碍,但它似乎过于复杂。最简单的方法是什么?

理想的解决方案类似于您设置网络主机的操作:将 GoDaddy 指向它,上传文件,导入数据库,完成。 (已经安装了 phpMyAdmin 的奖励积分,但肯定不是必需的。)

【问题讨论】:

我会说几乎可以肯定没有通用的解决方案,因为每个托管站点都可能不同。然而,大部分工作是在最初正确设置服务器;一旦完成,可能只需几分钟 + 等待 DNS 缓存过期以移动每个单独的站点。 进一步;除了初始服务器设置之外,它与在任何其他 Web 主机上执行此操作相同。 @ElYobo 他们可能正在使用共享主机 【参考方案1】:

黛娜,

作为一家 Web 开发公司,我经历过大量的托管公司。我还密切参与调查 LAMP 和 Windows 堆栈中网站的云托管解决方案。

您已经针对微型 Linux 站点引用了 GoDaddy、1And1 和 Mochahost,所以我猜您使用的基准是每个站点每月 2 到 4 美元。听起来您有“几个”网站(5ish?)并且至少需要一个数据库。

我还没有看到任何工具可以将比最基本的(即只有文件,没有数据库)网站更多地转移到云托管中。正如大多数人所建议的那样,您无法避免初始环境设置。 (你也应该考虑你的时间。如果你花 10 个小时来做​​这件事,你可以向客户收取 10 倍每小时的费用,并且刚刚为你的朋友和家人购买了主机。)

当您查看 AWS(或任何人)时,请记住以下几点:

    计算周期只是开始的地方。当您从传统 ISP 购买托管时,他们会向您出售周期、磁盘空间和数据库托管。在您因“超额”或过度使用而被停止或收费之前,它们允许的周期、数据库大小和流量的默认水平通常要高得多。

    考虑到您的 1 个数据库的成本,并考虑您需要更多数据库的可能性有多大。数据库托管费用会很快增加云成本。

    虽然您的基本站点可能需要很少的 CC(计算周期),但免费层托管的最大值仍然很低。预计会突破免费托管并按月收费。

    它还计费的磁盘空间。使用他们的定价估算器将您的 CC、DB 和 HDD 成本考虑在内:http://calculator.s3.amazonaws.com/calc5.html

    如果您的朋友和家人想要访问该系统,他们将无法获得,除非您使用允许“白标”的托管公司并提供将您的主帐户拆分为较小的迷你托管的方法帐户。如果您使用像 www.rackspace.com 这样的主机,它们甚至可以设置为提供自我管理和直接计费选项。问题是您听起来不想向任何人收费,而且他们的最低帐户可能太大而无法满足您的需求。

    请记住,GoDaddy(和其他人)经常通过简单的域名注册放弃一年的托管服务。在我拥有自己的服务器之前,我曾经充分利用这些优势。在我作为客户的一生中,我可能已经获得了 40 多个免费托管帐户等。 (我仍然通过他们注册了大量的域名。我还转售了他们的主机。)

    如果您还没有,请考虑使用支持门户的 CMS 系统(一个实例,不同域下的许多网站)。虽然我个人更喜欢 DotNetNuke,但我确信它的 LAMP 堆栈竞争对手之一可以为您做同样的事情。这将使您只使用一个数据库并进一步简化您的需求。

我希望这可以帮助您做出明智的选择。我认为这将是收益和成本之间的一条细线。只有知道每个站点、每个数据库和典型流量的确切大小,才能提前确定这一点。数据库数量和流量将是您的主要“敌人”。优化文件以减少磁盘空间需求和传输数据方面的流量水平。

祝你好运。

【讨论】:

【参考方案2】:

亚马逊 AWS 市场现在似乎已经为您的问题找到了解决方案: https://aws.amazon.com/marketplace/pp/B0078UIFF2/ref=gtw_msl_title/182-2227858-3810327?ie=UTF8&pf_rd_r=1RMV12H8SJEKSDPC569Y&pf_rd_m=A33KC2ESLMUT5Y&pf_rd_t=101&pf_rd_i=awsmp-gateway-1&pf_rd_p=1362852262&pf_rd_s=right-3

或来自他们自己的网站 http://www.turnkeylinux.org/lampstack

一个完整的 LAMP 堆栈,包括 PHPMyAdmin,无需设置。

至于您的站点和数据库迁移本身(应该只需要文件副本和数据库备份/恢复),唯一能减少这种麻烦的方法是让其他人为您完成...

【讨论】:

【参考方案3】:

实际上,这取决于您的服务器架构,是否要将整个 LAMP 堆栈迁移到 Amazon EC2。

或者为不同的服务器组件使用不同的 Amazon Web 服务,例如用于存储的 Amazon S3 和用于 mysql 数据库的 Amazon RDS 等等。

如果您在 EC2 上使用 LAMP:This tutorial will atleast give you a head up. 无论如何,您仍然需要完成设置 AMI 和通过 SSH 安装 LAMP 的基本步骤。

【讨论】:

以上是关于将托管的 LAMP 站点迁移到 AWS的主要内容,如果未能解决你的问题,请参考以下文章

将多个应用程序部署到私有子网上的 AWS LAMP 服务器

从 AWS 到 IBM Cloud 的数据迁移

以最短的停机时间将 Redis 迁移到 AWS Elasticache

将 staging 迁移到 Wordpress 网站中的开发后,相关链接断开

将 XAMPP 数据库迁移到 LAMP

将 aws ELB 用于另一个托管实例