【问题标题】:Best practices for web application in AWS [closed]AWS 中 Web 应用程序的最佳实践 [关闭]
【发布时间】:2015-07-02 04:17:43
【问题描述】:

我目前正在为学校开发一个 Web 应用程序,该应用程序将充当各种课程计划数据库,供教育工作者搜索、上传和下载课程计划文件。我有用于构建我的 PHP 应用程序的 EC2 实例设置和为我的 MySQL 部署的 RDS。

我正在慢慢学习 PHP,以便在我们客户的网页上添加我需要的东西,但是随着我做更多的研究,我看到了其他方法,例如使用 Elastic-Beanstalk、使用 S3 存储的主机、Dynamo...我想我大体上知道从哪里开始,但我想我有点迷茫,不知道如何在不让我和客户头晕目眩的情况下做到这一点。

我们的应用程序希望在某种程度上反映这种设置,但我认为我们不会使用 Flash 应用程序:http://spirit.unomaha.edu/

对于如何解决这个问题有什么建议吗? 更具体地说,如何让 PHP 与 EC2 对话并允许在该存储桶中上传文件?也就是说,我希望存储在 AWS 上的文件不是临时文件夹。

感谢任何帮助!

【问题讨论】:

  • 您在 EC2 上运行什么 PHP 需要与之通信?你在哪里运行你的 PHP?
  • 我希望 PHP 能够将文件上传到 EC2 存储。如果我在 html 中启用上传,我认为它的行为方式不会相同。截至目前,我正在尝试弄清楚如何在 ec2 上设置 phpmyadmin。我在这里找到了一个线程,列出了一些步骤:superuser.com/questions/291230/…

标签: php mysql amazon-web-services amazon-ec2 amazon-elastic-beanstalk


【解决方案1】:

我假设您正在谈论将文件上传到 S3,而不是 EC2 中的存储桶。

这里是 PHP SDK 的文档(特别是用于将文件上传到 S3 的部分):
http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.S3.S3Client.html

至于您的设置,最简单的方法是在 Elastic Beanstalk 上运行您的应用程序,使用 RDS 作为数据库,使用 S3 作为存储。

但是在 EC2 实例上运行应用程序,使用 RDS 用于数据库,S3 用于存储,也可以正常工作,但如果您想利用AWS。

这基本上就是您将文件从应用程序上传到 S3 的方式:

    $s3 = S3Client::factory(array(
        'key' => 'YOUR_KEY',
        'secret' => 'YOUR_SECRET'
    ));
    $result = $s3->putObject(array(
        'Bucket' => 'MyBucket',
        'Key' => 'myFolder/myFile.txt',
        'SourceFile' => '/path/to/temp/upload/file',
        'ACL' => 'private' // Access config
    ));

【讨论】:

  • 啊,我认为 EC2 对于像这样的简单搜索/上传/下载应用程序来说有点矫枉过正。我将使用 Elastic Beanstalk 再次探索 S3 路线。非常感谢!
猜你喜欢
  • 2010-10-02
  • 1970-01-01
  • 2011-02-18
  • 2019-03-24
  • 2021-08-11
  • 1970-01-01
  • 2012-06-06
  • 2020-06-10
  • 1970-01-01
相关资源
最近更新 更多