在AWS Elastic Beanstalk上部署Laravel 4应用程序

7
我已经在Laravel 4中开发了一个应用程序 - 在我本地机器上使用通常/典型的Laravel设置(这里没有不寻常的情况)完美运行。
现在我想将应用程序部署到AWS Elastic Beanstalk上(可能在安装了php 5.4的典型Linux 64位服务器上)。
我的问题是:我需要更改文件以使应用程序准备好部署吗?
例如,是否有任何配置文件需要我创建?(我在这里阅读了一些关于某种app/config/elastic文件的内容:http:://darrennolan.com/2013/02/02/php-aws-elastic-beanstalk-rds-laravel-4-with-migrations-on-updates/
我以前从未部署过,请尽可能详细地介绍。
2个回答

18
为了回答您关于L4应用程序配置的问题,您一定会发现这些帖子很有帮助:

L4云部署问题
Laravel和Elastic Beanstalk

AWS环境配置
针对您关于“某种/app/config/elastic”问题 - Laravel能够根据其运行的环境“加载”不同的配置。您可以设置包含配置文件的不同子文件夹,例如测试服务器和生产服务器的文件夹。这样,您可以安全地在两个服务器之间复制文件,并且每次同步文件时都不必更改数据库凭据或基本路径等信息。因此,在您链接的文章中建议为AWS环境创建一个子文件夹,以便您可以拥有一组自定义配置,如果您的应用程序在AWS上运行,则将激活该配置。

如何在AWS上部署Laravel 4应用程序
这里有一个简短的指示。下面是我遇到过(但还没有时间测试)的指示,但请先阅读上述帖子。感谢/赞美/赞扬下面的步骤来自Laravel论坛的codenamegary


在您的计算机上安装AWS命令行工具
http://aws.amazon.com/code/6752709412171743
- 需要ruby和其他一些东西

EC2 - 设置安全组
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
- 在EC2下创建一个新的安全组
- 命名约定是任何您想要的,但通常我尝试使用类似于...
"app-environment-eb"
例如,在生产环境中名为“Blog”的应用程序,我会称之为“blog-production-eb”,表示在elastic beanstalk上的生产环境中的博客应用程序。
组内允许所有HTTP / HTTPS和其他可能需要的内容。
RDS-设置RDS安全组(用于MySQL)
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html
在RDS下创建新的安全组。
同样,命名约定是任何您想要的内容,但我尝试遵循以下类似格式...
"app-environment-rds"
例如,在生产环境中名为“Blog”的应用程序,我会称之为“blog-production-rds”,表示在RDS上的生产环境中的博客应用程序。
在此RDS安全组上允许EC2安全组。
您可能还希望在组上允许自己的公共IP,以便可以直接从您的机器访问DB。或者,设置一个VPC和网关(完全不同的球)以获取远程访问权限。
创建新的RDS实例并将其附加到新的RDS安全组。
EB-创建EB应用程序和环境
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.html
在Elastic Beanstalk下设置应用程序,Amazon64位PHP节点(或其他)。
设置环境(称其为任何您喜欢的内容)。
将环境容器的文档根目录设置为/public。
将环境容器的安全组设置为您刚刚创建的EC2安全组的名称。 配置应用程序的DB连接,使其指向您创建的RDS实例(主机名、用户名、密码等)。


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接