部署Web应用程序Amazon AWS

时间:2015-07-12 18:11:11

标签: php laravel amazon-web-services deployment amazon-ec2

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

首先让我清楚一下我的情况。

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

好吧,因为我的软件包即将到期,我期待在9月底之前有更多的用户。所以我考虑迁移到AWS.I听到了很多关于它的事情,我使用的当前主机,它的时间很慢,而且上传速度非常慢。 [我收到了Android用户以及网站用户的抱怨]。

然而,当我检查AWS时,我输了,有太多的服务可供选择。我也不知道我应该做些什么。

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

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

  • 我需要 RDS 实例 如何在我的EC2中存储数据库?

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

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

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

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

  • 有没有办法看到数据库并从GUI(如phpMyadmin)以及文件管理它(因为我习惯使用像Cpanel这样的GUI,我觉得使用cmds丢失了) 我考虑过安装phpMyAdmin,但我没有用户通过网站访问phpMyadmin。(例如:mywebsite.com/phpMyadmin)

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

对于我的问题,我会很感激任何答案(我认为这对像我这样迷路的人都有帮助)

PS:正如我之前提到的,我不需要额外的大东西,我需要运行Android应用程序和网络应用程序的基础知识,直到现在我只有200个用户,我预计到9月底会有2000个。 / p>

1 个答案:

答案 0 :(得分: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

相关问题