gpt4 book ai didi

php - 在亚马逊上设置 Symfony2 应用程序(傻瓜)

转载 作者:IT王子 更新时间:2023-10-29 00:12:10 30 4
gpt4 key购买 nike

我正在尝试学习如何在亚马逊云上成功部署 Symfony2 应用程序。有用的是我从空白的 Ubuntu 开始,安装了 lamp-server^、svn ……其他一些好东西,它运行得很好。

问题:所有 Assets 和数据库都托管在那个实例上,我知道这不是正确的做法。我检查了很多站点,但没有找到任何设置真实 S2 应用程序的简单解决方案,只有 Wordpress 等。

我的应用程序允许用户上传图像,然后使用 Liip/Imagine bundle 显示它们

我还检查了AmazonWebServices bundle我想我应该以某种方式同时使用它们;第一个用于显示,第二个用于将文件发送到 S3 存储桶。而且它还必须在我的本地 Windows 环境中工作。

  1. 如何解决?是否有一些非常简单的解决方案?
  2. RDS需要阅读

    $dbhost = $_SERVER['RDS_HOSTNAME'];
    $dbport = $_SERVER['RDS_PORT'];
    $dbname = $_SERVER['RDS_DB_NAME'];

    能够访问mysql。使用 parameters.yml 时如何做到这一点?

最佳答案

基础设施

虽然您可以使用 AWS 提供独立服务器,但如果您希望支持多个实例、负载平衡等,则需要将它们分开。在最基本的层面上,您可能希望使用:

  • S3 - 持久存储
  • RDS - MySQL 数据库
  • EC2 - Apache/Nginx、PHP 前端

然后您可以通过以下方式扩充它:

  • Cloudfront - S3 内容的本地化交付
  • 负载均衡器 - 确保您的 EC2 实例得到最佳使用
  • 自动缩放 - 启动/停止新实例
  • 53 号公路 - DNS
  • VPC - 很重要,因为它提供了安全性、SSL 证书的单一前端等。

此外,您可以使用市场上的 AMI,而不是从头开始:https://aws.amazon.com/marketplace/

查看 AWS 入门指南,因为它详细介绍了所有内容:http://docs.aws.amazon.com/gettingstarted/latest/wah-linux/web-app-hosting-intro.html

使用上述内容,我建议将您的数据库移动到 RDS 并在您的 EC2 实例上简单地托管 Apache。您甚至可能会发现这也具有成本效益,因为您可以在较低内存/CPU 要求的情况下利用小型实例。

此外,随着时间的推移,您可以开始关注 Elastic Beanstalk 和 Chef(对于本地开发箱甚至可能是 vagrant),Elastic Beanstalk ( http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_PHP_symfony2.html )

那么,Symfony

首先,环境

我假设您已经创建了生产和开发环境:http://symfony.com/doc/current/cookbook/configuration/environments.html .这很重要,因为您可以在本地和生产环境之间更改配置。

图像

结帐 https://github.com/liip/LiipImagineBundle/blob/master/Resources/doc/data-loader/stream.md它利用 https://github.com/KnpLabs/Gaufrette (或 bundle :https://github.com/KnpLabs/KnpGaufretteBundle)。

这里似乎有一篇关于如何配置它的好文章:https://florian.ec/articles/upload-files-to-amazon-s3-with-symfony2-and-gaufrette/

使用上述环境,您可以将生产环境配置为读取/写入 s3,而开发环境则写入/tmp(例如)

数据库。

我将假设您正在使用 Doctrine 作为您的数据库连接,并且已经按照 Symfony 文档了解如何设置配置:http://symfony.com/doc/current/book/doctrine.html#configuring-the-database .

您需要做的就是遵循环境逻辑并相应地设置数据库字符串生产/本地。这在后台应该是无缝的,不需要手动 MySQL 连接。

关于php - 在亚马逊上设置 Symfony2 应用程序(傻瓜),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20639522/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com