部署 Web 应用程序 Amazon AWS

Posted

技术标签:

【中文标题】部署 Web 应用程序 Amazon AWS【英文标题】:Deploy Web Application Amazon AWS 【发布时间】:2015-09-30 23:39:15 【问题描述】:

正如我的问题所述,我需要将我的 Web 应用程序部署到 AWS。

首先让我弄清楚我的情况。

我一直在使用共享主机服务 (JustHost) 来托管我的网站(基于 Laravel 框架构建的网站)+ android 应用程序的 php 文件。我曾经通过CPanel管理数据库和文件等一切。

好吧,因为我的套餐即将到期,我也希望到 9 月底会有更多用户。所以我想迁移到AWS。听说有个好消息,也是我现在用的主机,时不时会变慢,上传速度也很慢。 [我很少收到来自安卓用户和网站用户的投诉]。

但是当我检查 AWS 时,我迷路了,有太多的服务可供选择。我也不知道该怎么办。

经过长时间的研究,以下是我目前所理解的。(如果我错了,请纠正我),然后是我的问题。

我需要 EC2 实例作为我的服务器。 *托管我的数据 php 文件和 Web 应用程序是否 100% 安全?我读到 EC2 实例可能会被销毁 *

我需要 RDS 实例 在我的 EC2 中存储数据库怎么样?

我真的需要 S3 吗? EC2还不够吗?

在我阅读的一些部署文章中,最好使用 Beanstalk 真的有必要吗?

此外,让我说明一下我的要求。

首先我的应用程序并没有那么大,但它正在增长,到目前为止我所需要的只是为 android 应用程序托管我的 Web 应用程序 (Laravel) 和 (php 文件)。

有没有办法从 GUI(如 phpMyadmin)以及文件中查看和管理数据库(因为我习惯了像 Cpanel 这样的 GUI,所以我觉得使用 cmds 迷失了方向) 我想安装 phpMyAdmin,但我不让用户通过网站访问 phpMyadmin。(例如:mywebsite.com/phpMyadmin)

有没有办法将 Web 应用程序从 Github 自动部署到服务器?

对于我的问题,我将不胜感激(我认为这对像我一样迷路的人会有所帮助)

PS:正如我之前提到的,我不需要额外的大东西,我需要运行 android app 和 web app 的基础知识,到目前为止我只有 200 个用户,我预计到 9 月底会达到 2000 个。

【问题讨论】:

百万美元的问题。很棒 【参考方案1】:

从哪里开始!您应该做的第一件事是在此处阅读 EB Deploy http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3.html

我建议使用弹性 beanstalk,因为它在内部处理 EC2 和 RDS 的设置,您不必担心。它还允许您随着应用程序的增长自动扩展,并为您提供一种在发布新功能时交换演示和生产环境的简单方法。

您将需要一些命令行来部署,但它就像在签入代码后从工作目录运行“EB deploy”一样简单,您甚至可以将其设置为通过 GIT 自动运行,但由于它如此简单,我不建议这样做以避免意外部署。

在 RDS 方面,没有 GUI 本身,但是给自己一个 mysql 工作台的副本,并以这种方式连接到您的 RDS。您需要研究开放安全规则以允许您的计算机连接到 RDS 实例。

关于 S3,Elastic beanstalk 将您的应用程序部署到 S3 作为部署过程的一部分,因此您无需再担心如何设置。

要映射域,您可以使用 CNAME 记录来指向 www。子域到由 Elastic Beanstalk 生成的应用程序端点,对于非 www 域,您需要通过 Route 53 设置域。我发现通过 Amazon 实际购买域更容易,因为他们自己处理设置.如果您已经拥有一个域,请阅读这篇关于将 A 记录指向 AWS 负载均衡器的文章http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.Route53.html

【讨论】:

非常感谢您的提问。 如果有帮助,请将答案标记为正确。谢谢@samben 嗯,我需要知道的事情很少。使用 S3 怎么样?在 EC2 实例中保存所有数据是否安全,因为我读到 EC2 会导致数据丢失。以及如何将我的域名附加到服务器? 还有一件非常重要的事情。好吧,我的网络应用程序在注册时会发送电子邮件。豆茎上可以吗? @samben 这是一个完全不同的问题。我会问一个新问题或查看 Amazon SES

以上是关于部署 Web 应用程序 Amazon AWS的主要内容,如果未能解决你的问题,请参考以下文章

使用 Boxfuse 将播放框架应用程序部署到 Amazon AWS 时出现“不允许主机”错误

将 Django 应用程序部署到 Amazon AWS Elastic Beanstalk 时遇到问题

在 ec2 实例中部署 eb 后,ruby 应用程序 aws 数据丢失

如何使用 ReactJS/NodeJS 一起部署到 Amazon Web Services (AWS)?

使用 Ansible playbook 在 AWS (Amazon) ec2 中部署 Play Framework 应用程序

Amazon EC2 和 AWS Elastic Beanstalk 之间的区别