2009-12-13 16 views
2

我在Heroku上部署了一个Ruby on Rails应用程序,并且我意识到他们有一个只读文件系统(http://docs.heroku.com/constraints#read-only-filesystem)。这意味着我无法在本地缓存图像,例如。我正在使用名为“Rio”(Ruby Input/Output)的Ruby gem,并且允许将文件保存到我的/ public/images目录。有没有这样的好主持人?具体来说,我正在研究Rackspace Cloud。在我尝试部署到其他地方之前,事先真的有助于了解它们!RackSpace是否具有读写文件系统?

回答

0

您不需要切换主机来完成此操作。

使用Heroku,您可以写入RAILS_ROOT/tmp目录。他们只是不能保证在请求之间停留,因为不同的请求可能来自不同的dynos,并且tmp目录被定期清除。所以你可以将你的图像提取到那个目录,做任何你需要的处理,然后把它们上传到S3(如果你还没有使用它,我推荐Delayed :: Job)。

+0

我最终这样做了,谢谢! – jmtame 2009-12-15 19:01:37

1

我只是谷歌搜索“免费红宝石托管”,并有很多很多的结果。我会建议通过其中一些看看。

更新:我刚刚意识到Heroku出现在列表的顶部,但也有很多其他人。

我承认我没有足够的努力来检查每一个,看看他们是否让你写入他们的文件系统。

我认为没有必要在“云”产品之后争抢。 “云”解决了你还没有的问题(还)。 “云”会让你的应用程序“无限”扩展,如果你把它变大,你的网站会得到SlashDotted或其他任何东西。

您正在寻找的是便宜的免费托管,这是由提供商提供的“做”虚拟主机(让很多人在一个物理盒子上削减每个成本)或免费为穷人托管开源开发者。

+0

嗨,卡尔,谢谢你的回应。我会说,所有这些,小橙看起来很有趣。没有太多空间,但我相信可以升级。感谢这里的建议。 – jmtame 2009-12-13 12:10:20

1

一个解决方案,如果你想使用Heroku将不会在他们的地方举办的图像。但在亚马逊。
您的应用程序可以对图像执行必要的操作,然后在Amazon S3平台上发送它们。
然后当你想显示一个图像,你可以链接到它在亚马逊。

Paperclip允许您很容易地将图像发送到S3。

+0

嘿达米安,就像后续,我不想处理文件附件。我正在远程获取图像,然后将它们存储在服务器上(当然合法)。我有点担心通过S3远程发送图像(以及远程获取图像)涉及多少工作。 – jmtame 2009-12-13 12:09:49

+0

看看回形针。你会看到工作量并不大。 – 2009-12-13 13:22:38

0

我不确定有关heroku,但回答你关于Rackspace cloudFiles的问题,没有任何块存储暴露cloudfiles,但只是一个API上传/检索/等等...文件。

有心思一些保险丝包装那样会暴露你的云文件,至少在Linux/MacOSX的文件系统:

https://github.com/redbo/cloudfuse/

有JungleDisk以及它拧紧至cloudfiles,但它是一个整体的完整基础设施。

相关问题