【问题标题】:Deploying a Laravel 4 app on AWS Elastic Beanstalk在 AWS Elastic Beanstalk 上部署 Laravel 4 应用程序
【发布时间】:2013-08-05 03:09:37
【问题描述】:

我在 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/

我以前从未部署过,所以请尽可能详细地介绍。

【问题讨论】:

    标签: php amazon-web-services laravel laravel-4 amazon-elastic-beanstalk


    【解决方案1】:

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

    L4 cloud deployment problems
    Laravel and Elastic Beanstalk

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

    如何在 AWS 上部署 Laravel 4 应用程序
    在这里你有一个简短的说明。我遇到的指令(但还没有时间测试它)如下,但还是先阅读上面的帖子。感谢/props/kudos 以下步骤转至 codenamegary from the Laravel forum


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

    EC2 - 设置安全组
    http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
    - 在 EC2 下创建一个新的安全组
    - 命名约定是您想要的任何东西,通常我会尝试使用类似...
    “应用环境-eb”
    - 例如,对于在生产环境中名为“Blog”的应用程序,我将其称为“blog-production-eb”,意思是博客应用程序,在生产环境中弹性 beanstalk
    - 在组上允许所有 HTTP / HTTPS 以及您可能需要的任何其他内容

    RDS - 设置 RDS 安全组(用于 MySQL)
    http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html
    - 在 RDS 下创建一个新的安全组
    - 同样,命名约定是您想要的任何东西,但我尝试遵循...
    “应用程序环境 rds”
    - 例如,对于在生产环境中名为“Blog”的应用程序,我将其称为“blog-production-rds”,意思是博客应用程序,在 RDS 的生产环境中
    - 允许此 RDS 安全组上的 EC2 安全组
    - 您可能还希望在组中允许您自己的公共 IP,以便您可以直接从您的计算机访问数据库
    - 或者,设置 VPC 和网关(整个其他蜡球)以获得远程访问
    - 创建一个新的 RDS 实例并将其附加到新的 RDS 安全组

    EB - 创建 EB 应用和环境
    http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.html
    - 在 Elastic Beanstalk 下设置一个应用程序,Amazon 64 位 PHP 节点(或其他)
    - 设置环境(随意命名)
    - 将环境容器的文档根目录设置为 /public
    - 将环境容器的安全组设置为您刚刚创建的EC2安全组的名称 - 将您的应用数据库连接配置为指向您创建的 RDS 实例(主机名、用户名、密码等)

    【讨论】:

      【解决方案2】:

      另外,我建议您查看 Chris Fidao 的 TrustedProxy 包,这样您在调用 Request::getClientIp() 时可以获得正确的 IP 地址:http://fideloper.com/laravel-4-trusted-proxies

      (请务必使用CIDR notation设置代理地址。)

      另一个有用的信息来源适用于将 Laravel 置于 Amazon 的负载均衡器之后: http://fideloper.com/web-app-load-balancing

      【讨论】:

        猜你喜欢
        • 2018-09-13
        • 2017-08-01
        • 2012-09-24
        • 2014-04-10
        • 2016-01-24
        • 2015-07-06
        • 2017-09-28
        • 2020-04-29
        • 2020-02-21
        相关资源
        最近更新 更多