【问题标题】:How to delete static-html cache files that are owned by Rails?如何删除 Rails 拥有的静态 html 缓存文件?
【发布时间】:2012-11-03 20:59:38
【问题描述】:

我已经设置了页面缓存,可以在公用文件夹中动态创建 HTML 文件。我正在使用 Capistrano 部署 Rails 应用程序。

当您需要在 Capistrano 中清理旧版本时,问题就开始了。缓存文件归 rails 所有,这意味着部署用户无法删除这些文件。

我没有服务器的 root 权限,因此不能使用提升的权限。

建议的一种可能性是将缓存符号链接到共享文件夹。但是,这不会清除版本之间的缓存,这可能很危险。

【问题讨论】:

标签: ruby-on-rails capistrano


【解决方案1】:

嗯,主要问题是当你运行 capistrano 任务时,你有一个用户(通常是部署用户),所以为了创建/删除文件,你的部署用户应该对它们有权限。

因此,您的网络用户(在本例中为 rails)与部署用户无关,正如您所说,您不能在服务器上拥有 root 权限(可能是托管公司,对吧?)

您可以在您的网站中创建一个只有您可以访问的操作,例如 http://mywebsite.com/clear_cache

在该操作中,您实际上编写代码来列出每个较旧的部署,并清除旧部署中的缓存文件,通过这样做,将删除文件的用户将是网络用户 (轨道)。

【讨论】:

    猜你喜欢
    • 2010-09-10
    • 2019-05-15
    • 2019-04-14
    • 2017-03-18
    • 2020-07-31
    • 1970-01-01
    • 2012-03-10
    • 2021-05-11
    • 1970-01-01
    相关资源
    最近更新 更多