Heroku - 为我的项目托管文件和静态文件

Sys*_*147 5 ruby-on-rails heroku

我想使用 Heroku 来托管我的 Ruby on Rails 项目。它将涉及大量文件上传,主要是图像。我可以在 Heroku 上托管和提供这些静态文件,还是使用 Amazon S3 之类的服务更明智。你对这种方法有什么看法?在 Heroku 上托管静态文件有哪些选择?

Elv*_*lvn 5

为了回答您的问题,Heroku 的“临时文件系统”不会用作静态上传的存储。Heroku 是一个应用程序服务器。您必须在别处插入数据存储。

来自 Heroku 的规范

临时文件系统

每个 dyno 都有自己的临时文件系统,以及最近部署的代码的新副本。在 dyno 的生命周期内,其正在运行的进程可以使用文件系统作为临时暂存器,但任何其他 dyno 中的进程都看不到写入的文件,并且在 dyno 停止或重新启动时,写入的任何文件都将被丢弃。例如,这会在由于应用程序部署而更换 dyno 时发生,并且作为正常 dyno 管理的一部分大约每天一次。


Eug*_*Zol 0

将文件托管在 S3 上更明智,实际上直接上传到 S3 更明智。

\n\n

例如,您可以在这里阅读参数

\n\n

要点:Heroku 真的真的昂贵。

\n\n

所以你需要节省你拥有的每一点资源。在 Heroku 上存储静态文件的唯一选择是为您提供单独的 dyno 运行应用程序服务器。并且静态文件不需要应用服务器。所以这只是浪费 CPU 时间(你应该将其理解为“浪费了我很多钱”)。

\n\n

此外,上传大量的大文件很快就会耗尽内存配额(读作“会浪费更多的钱,因为我需要运行更多的测功机”)。所以最好直接将文件上传到S3。

\n\n

Heroku 非常适合托管您的应用程序。使用最适合该任务的工具。

\n\n

联合发展署。忘了告诉你 \xe2\x80\x93 不仅你需要单独的静态资产的测功机,而且每次重新启动此测功机时,你的静态资产都会消失。

\n