2013-08-04 117 views
7

我在Laravel 4中开发了一个应用程序 - 使用通常的/典型的laravel设置在本地机器上完美地工作(这里没有任何不寻常的事情发生)。在AWS Elastic Beanstalk上部署Laravel 4应用程序

现在我想部署的应用到AWS弹性魔豆(可能与安装了PHP 5.4典型的Linux 64位服务器上)

我的问题是这样的:我需要做的文件任何改动让应用程序准备好部署?

例如,是否有任何需要创建的配置文件等? (我在这里阅读了某种应用/配置/弹性文件:http:://darrennolan.com/2013/02/02/php-aws-elastic-beanstalk-rds-laravel-4-with-migrations-on-updates/

我从未部署过,因此请尽可能详细地介绍一下。

回答

18

要回答你关于L4应用程序的配置问题,你一定会找到这些职位有所帮助:

L4 cloud deployment problems
Laravel and Elastic Beanstalk

AWS环境配置
根据您的问题有关“某种/ app/config/elsatic“的东西 - Laravel能够根据运行的环境”加载“不同的配置。您可以设置不同的子文件夹,包含配置文件,例如用于测试服务器和生产服务器呃。这样,您可以在两台服务器之间安全地复制文件,而且每次同步文件时都不必更改数据库credentails或basepath。因此,在您链接的文章中,建议您为AWS环境创建一个子文件夹,以便您可以拥有一组自定义的配置,如果您的应用在AWS上运行,那么该配置将会激活。

如何在AWS
这里部署Laravel 4应用程序,你有一个简短的指令。我遇到的指令(但没有时间测试它)在下面,但仍然首先阅读上述文章。对于下面的步骤谢谢/道具/荣誉去codenamegary from the Laravel forum


你的机器
http://aws.amazon.com/code/6752709412171743
上安装AWS命令行工具 - 需要Ruby和几个其他的事情

EC2 - 设置a Security Group
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
- 在EC2下创建一个新的安全组
- 命名约定是你想要的任何东西,通常我尝试使用类似...
“应用环境-EB”
- 例如,所谓的在生产环境中我把它叫做“博客”应用程序“博客 - 生产 - EB”,意思是博客的应用程序,在生产环境中对弹性魔豆
- 在组许可证的所有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
- 允许EC2安全组在此RDS安全组
- 您也可能要允许该组自己的公网IP,所以你可以从你的机器
直接访问数据库 - 或者,设置一个VPC和一个网关(整个其他蜡球)以获得远程访问
- 创建一个新的RDS实例并将其附加到新的RDS安全组

EB - 创建一个EB应用与环境
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.html
- 下产生弹性魔豆安装一个应用程序,亚马逊64位PHP节点(或其他)
- 安装环境(叫它任何你喜欢)
- 将环境容器的文档根目录设置为/ public
- 将环境容器的安全组设置为您刚刚创建的EC2安全组的名称 - 将您的应用程序数据库连接指向您创建的RDS实例(主机名,密码等)

相关问题