【问题标题】:Web Hosting on Amazon AWS (PHP + MySQL)亚马逊 AWS 上的虚拟主机(PHP + MySQL)
【发布时间】:2014-06-15 06:58:03
【问题描述】:

我完全不知道如何在 Amazon Cloud 中托管使用​​ PHP 和 MySQL 创建的动态网站。

我通过 Amazon S3 并在那里托管了一个静态网站!

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

没有找到其他关于部署我的 Web 应用程序的 EC2 教程。

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

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

那么谁能指导我在 AWS 中部署 PHP MySQL 应用程序?

【问题讨论】:

  • 如果您不想经历在普通 Linux 发行版上设置网络服务器的麻烦,我建议您使用 Elastic beanstalk。如果您的服务器运行特殊应用程序,您将不得不使用 EC2。启动和配置 EC2 实例非常简单。您不需要从 VPC 开始。您甚至可以从社区 LAMP 堆栈(Bitnami 很流行)和 SSH 进入实例开始,将 PHP 文件转储到正确的位置(/opt/bitnami/apache2/htdocs - 如果我没记错的话),您就可以开始了。 aws.amazon.com/documentation/ec2

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


【解决方案1】:

取决于您的需求。 Elastic Beanstalk 对于许多应用程序来说可能是一个不错的选择,但我选择 EC2 作为我应用程序的后端(使用 PHPMySQLS3 用于存储)。

快速启动和运行的步骤:

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

  2. 在步骤 “6. 配置安全组” 处,至少添加 HTTPHTTPSRDP 的规则(这样您就可以通过远程桌面连接)

  3. 通过远程桌面连接到您的新实例并安装合适的浏览器(在 IE 的安全设置中启用文件下载并下载ChromeFirefox)

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

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

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

  7. 现在将您的文件放在 C:\xampp\htdocs\ 中,您就可以开始了!

奖励步骤:

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

  • 获取一个弹性 IP 并将其分配给您的实例,因此它的 IP 地址永远不会改变。

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

【讨论】:

  • 上述步骤非常适合开发/登台环境。但是,我不建议在生产环境中使用 XAMPP,尤其是当您计划扩展应用程序时。 XAMPP/WAMP/MAMP 最适合开发或静态站点托管reddit.com/r/webdev/comments/3n5a5a/…
  • 嗨@omrakhur,对于在生产环境中部署它有什么建议?
  • @OliverKuchies,我宁愿使用 ElasticBeanstalk 环境。
  • 您好@rboe 和 col00r,我已经尝试了您的步骤,效果很好!我在 AWS 上成功创建了服务器,但现在我不知道如何访问服务器。我正在使用 ios 应用程序中的 AFNetworking,所以我只需要连接到的 URL。有什么建议吗?
  • 嗨@Ryan,您应该能够在 AWS EC2 控制面板上找到该 URL。通常它看起来像这样:ec2-IP-ADDRESS.REGION.compute.amazonaws.com
【解决方案2】:

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

如果您预计负载很重或负载可变,那么有很多原因可以说明为什么不在 EC2 上部署生产 PHP + MySQL 应用程序。

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

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

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

  • 您的 EC2 实例前面有一个负载均衡器,其中包含一堆开箱即用的“推荐”配置。

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

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

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

【讨论】:

    【解决方案3】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-04
      • 2017-03-08
      • 1970-01-01
      • 1970-01-01
      • 2014-03-08
      • 1970-01-01
      • 2015-02-02
      • 2014-04-20
      相关资源
      最近更新 更多