首页 > 解决方案 > 使用 AWS 时,我应该在哪里上传我的应用程序文件?

问题描述

最近我在将我的应用程序部署到 heroku 时遇到了一种情况,我了解到 heroku 有一个临时存储,这意味着每次更新我的 api 后,我所有的上传都会被删除。

因此,我对如何保存文件进行了更多调查,最终得到了答案:使用 AWS S3 存储。

鉴于我必须使用 AWS 并且我不想创建一个帐户(因为懒惰),我决定只创建一个而不是 heroku 并使用 EC2 实例。

但是现在我已经配置了我的 nginx、反向代理、ssl 等,我想到了一个问题。我应该使用 AWS S3 存储吗?或者我应该使用 EC2 实例中的可用空间并在需要时增加它?

我的配置如下:我有一个使用 node.js 和 express 构建的 API,应用程序使用 pm2 运行,我配置了一个反向代理,所以每次用户转到指向 ec2 实例的子域时,反向代理都会监听端口 80 和 443 并将流量重定向到 127.0.0.1:5000

现在,问题是用户必须上传个人资料图片和其他一些文件,并且它们是在我的项目的同一级别上传的。

-- Project Folder
   -- routes
   -- model
   -- upload // I have subfolders here, and uploads are uploaded here.
   -- index.js

那么,我应该让我的项目保持原样还是应该改变我的上传工作方式?

标签: node.jsamazon-web-servicesamazon-s3amazon-ec2

解决方案


您可以使用 S3 作为上传文件的存储空间。但是您必须更新代码才能使用 S3 SDK 将文件上传到 S3 存储。将图像存储在 EC2 中并没有错,只要您不会遇到数百万张图像。因此,您当前的设置很好。


推荐阅读