亚马逊AWS上的虚拟主机(PHP + MySQL)

时间:2014-04-29 11:08:54

标签: php amazon-web-services amazon-ec2 amazon-s3

我对如何在亚马逊云中托管使用​​ PHP和MySQL 创建的动态网站感到困惑。

我浏览了 Amazon S3 ,我在那里托管了一个静态网站!

然后我尝试了 Amazon EC2 ,并了解了有关VPC概念的一些方面。我认为动态网站使用EC2在Amazon Cloud中托管。我遵循了一些步骤,他们教我如何使用 Drupal 启动网站(但是,我不想要那个!!)

未找到EC2上部署我的Web应用程序的其他教程。

然后我找到 AWS Elastic Beanstalk ,我上传了一个简单的PHP文档,我可以看到已成功部署。

但是,我仍然不满意。因为,我不知道哪个是部署我的PHP应用程序的正确方法。

那么有人可以指导我在AWS中部署PHP MySQL应用程序吗?

3 个答案:

答案 0 :(得分:25)

取决于您的需求。对于我的应用程序的后端,Elastic Beanstalk可能是一个很好的选择,但我选择了EC2 (使用 PHP MySQL S3 用于存储)。

快速启动并运行的步骤:

  1. 登录AWS Mangement Console并启动新的 EC实例 Windows服务器2012 R2 Base> t2.micro 应该足够了一开始!)

  2. 在步骤" 6。配置安全组" ,添加规则至少 HTTP HTTPS RDP (这样您就可以通过远程桌面连接)

  3. 通过远程桌面连接到您的新实例并安装一个不错的浏览器(在IE的安全设置中启用文件下载 并下载 Chrome Firefox

  4. 打开 Windows防火墙,并在AWS管理控制台中为您在实例的安全组中打开的相同端口添加规则。 (右键单击“入站规则”,然后选择“新规则...”)

  5. 下载并安装XAMPP(我把它放在C:\ xampp中)

  6. 打开 XAMPP控制面板并安装Apache和MySQL作为服务(因此它们将在您的实例启动时自动启动);确保一切都已启动。

  7. 现在把你的文件放在C:\ xampp \ htdocs \中,你准备好了!

  8. 奖金步骤:

    • 设置 Filezilla FTP服务器(并在实例的安全组和Windows防火墙中打开所需的端口),这样您就可以上传/下载文件而无需去通过远程桌面。

    • 获取弹性IP 并将其分配给您的实例,以便其IP地址永远不会更改。

    • 获取 SSL证书,以便您可以使用HTTPS

答案 1 :(得分:4)

答案取决于您期望的负载以及处理所有管理任务所需的资源。

如果您期望重载或可变载荷,为什么不在EC2上部署生产PHP + MySQL应用程序有很多原因。

Here是部署到Elastic Beanstalk而不是手动配置的EC2的一些好处:

  • 您可以获得每个部署的版本控制。

  • 如果您需要更多/更少的实例来处理新的负载,您可以自动向上或向下扩展。

  • 您可以在EC2s实例前面使用一堆开箱即用的“推荐”配置获得负载均衡器。

关于MySQL,如果您使用的是Amazon RDS实例,您可以轻松地处理复制,监控和自动备份。现在可以通过参数组获得调整所需的许多配置。

另一方面,如果你想完全控制服务器上发生的一切(这意味着你有时间监控,备份和执行维护任务,这不是我的情况:),或者如果你不打算有太多的流量,或者如果你想要更便宜的选择,你应该选择低成本的EC2实例。

根据我的经验,(在使用10个生产应用程序的AWS工作2年后,我是一个常规的AWS用户)几乎每个我在RDS和EBS上都需要的定制或更改我能够调整它和让它工作,所以我对选择EBS + RDS选项非常满意。

答案 2 :(得分:0)

以下是我发现的两个有助于使用AWS Elastic Beanstalk创建和更新应用程序的链接

https://aws.amazon.com/getting-started/tutorials/launch-an-app/

https://aws.amazon.com/getting-started/tutorials/update-an-app/