每次部署后回形针文件都会被删除

2023-12-10

我使用 Paperclip gem 来存储图片,并且在本地主机上它工作得很好。但是,我添加到实时应用程序中的任何图片都会在每次部署后被删除。

我使用Git来部署。这是我的部署过程:

$ bundle exec cap production deploy
$ ssh [email protected]
$ chmod -R 777 /rails_apps/app/releases
$ cd /rails_apps/app/current
$ cp config/database.yml.sample config/database.yml
$ RAILS_ENV=production bundle exec rake assets:precompile
$ /etc/init.d/apache2 restart

还有其他人遇到过这样的事情吗?


UPDATE:

这不是重复的,因为答案这个问题,即将这一行添加到我的deploy.rb中:

set :linked_dirs, fetch(:linked_dirs, []).push('public/system')

导致回形针完全断裂。以前我遇到过一个问题,因为没有权限使用回形针添加图像,导致出现此错误:

Errno::EACCES in UsersController#update
Permission denied - /rails_apps/website/releases/20150807211111/public/system/users/avatars/000/000/562

但在我的服务器上运行此命令修复了权限:

chmod -R 777 /rails_apps/website/releases

但是,如上所示修改我的deploy.rb文件会导致chmod -R 777命令不再起作用,并且我再次无权添加图像,导致相同的“权限被拒绝”错误。

所以这个问题并不能为我的问题提供有效的解决方案。


存储图像的最佳方式是像这样的地方SWS 安全、耐用且高度可扩展的对象存储

设置起来非常简单

# Gemfile
gem 'paperclip'
gem 'aws-sdk 

在你的 config/environments/production.rb 中

# config/environments/production.rb
config.paperclip_defaults = {
  :storage => :s3,
  :s3_credentials => {
    :bucket => ENV['S3_BUCKET_NAME'],
    :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
    :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
  }
}

如果您在上传图像时遇到问题,请阅读以下两个配置部分。

如果您仍然遇到问题,请参阅回形针文档页面以获取详细的配置选项。

覆盖默认 URL 结构并将存储桶的名称“域样式”放置在 URL 中(例如 your_bucket_name.s3.amazonaws.com)。这些选项可以放置在paperclip_defaults 配置上面显示的哈希值,或进入初始化程序。

#config/initializers/paperclip.rb
Paperclip::Attachment.default_options[:url] = ':s3_domain_url'
Paperclip::Attachment.default_options[:path] = '/:class/:attachment/:id_partition/:style/:filename'
Paperclip::Attachment.default_options[:s3_host_name] = 's3-us-west-2.amazonaws.com'

我希望这个对你有用。

快乐黑客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每次部署后回形针文件都会被删除 的相关文章

  • Git 中的数据完整性?

    我现在已经多次听到提到 Git 提供数据完整性 但是 这是什么意思 据我所知 git 中的所有对象都是使用 SHA 1 校验和来访问的 并且该校验和是根据文件的内容计算的 这意味着如果文件发生更改 您将得到不同的校验和 但这如何提供数据完整
  • NameError:未初始化的常量 Gem::SourceIndex

    对于没有任何修改的新 Rails 应用程序 在访问主页时 成功运行后 会出现此错误bundle install 以下是版本号 ruby 1 9 3p392 2013 02 22 revision 39386 x86 64 darwin12
  • Smartgit:自动插入提交消息

    有没有办法使用钩子脚本在 Smartgit 中自动插入提交消息 重击 如果用户提交了他的更改 我想预加载提交消息字段 我没有看到任何SmartGit配置 http www syntevo com smartgit documentation
  • 合并后 Git 分支和提交历史记录

    我正在开发一个项目 单独 对于我开发的每个功能 我都会创建一个新分支 处理该功能 然后将其合并到 master 中 所以通常我不会同时在两个不同的分支上工作 也不会在一个分支上工作时接触master 当我合并一个分支时 我看到 使用gitx
  • Android repo 脚本创建的 .repo/projects/ 中的裸 git 存储库的用途是什么?

    The 安卓源码 http android git kernel org 由以下人员管理repo http source android com source version control html 使用 repo 同步时 一个名为 re
  • 删除 Xcode 项目的源代码控制

    我在 Xcode 项目上使用源代码控制已经有一段时间了 但现在我不想使用源代码控制 如何从 Xcode 中的项目中删除源代码控制 有三种方法 方法 1 将禁用所有项目的源代码管理 方法 2 将删除所有项目的单个存储库的链接 方法 3 将删除
  • 在种子项目上构建时如何组织 git 存储库

    我正在基于从 github 克隆的种子项目 MEAN io 构建一个网站 如何将这些文件与我自己的文件分开 由于该种子提供了广泛的文件框架 因此我自己的文件分布在整个项目中 我希望能够从种子中提取更新 但不能将其与我添加的文件混合 我知道我
  • gcloud 应用程序部署 - 更新服务默认值失败,代码为 13 超出实例配额限制,并且 401 未授权

    创建了一个新项目 在第一次部署时我得到这个 Updating service default this may take several minutes failed ERROR gcloud app deploy Error Respon
  • 用于 S3 私有文件的 ActiveStorage

    到目前为止 我一直在使用 Paperclip 将一些文件上传到 S3 其中一些文件不是公开的 Paperclip 允许通过以下位将一些文件作为私有文件上传 has attached file image styles large 2000x
  • Rails 如何使用 send_data 导出数据,然后重定向到新页面?

    我有一个 Rails 应用程序 允许用户下载生成的 CSV 文件 下载文件后 我想将用户重定向到新的 URL 或操作 有没有在 send data 之后进行重定向的技巧 我想做这样的事情 这不起作用 send data output typ
  • 在 python 中找不到 git 可执行文件

    我试图使用访问密钥克隆 git 存储库 但是当我尝试运行它时 它抛出一个异常 说找不到 git 可执行文件 但我已经安装了 git 并且 in it py 显示了正确的路径 C Program Files Git bin 我还安装了 git
  • 如何将 devise/omniauth 重定向到我登录的页面?

    我通过omniauth 进行了身份验证 并且该链接通过layout application html haml 在每个页面上都可用 然而 当他们完成omniauth身份验证后 他们都会进入root权限 我如何设置它 以便他们重定向到他们单击
  • <%=h ... %> 在 Rails 中意味着什么?

    I found here http api rubyonrails org classes ActionView Helpers RecordTagHelper html以下语法 什么是h means 它用于转义标签的输出以避免跨站点脚本
  • git merge --squash 和 gitcherry-pick 有什么区别?

    如果我在标准的主功能工作流程中工作 那么将功能分支压缩到主功能分支和将其挑选到主功能分支之间有什么区别 分支示例 m1 m2 master f1 f2 feature 我认为两者都有相同的输出 即 m1 m2 m3 master f1 f2
  • Git - 使用过滤器分支删除带有空变更集的提交

    如何使用 git filter branch 删除没有变更集的提交 我使用以下方法重写了我的 git 历史记录 git filter branch tree filter rm r f my folder f HEAD 效果很好 但现在我有
  • Rails 4 可安装引擎,找不到文件“jquery”

    我正在创建一个 Rails 可安装引擎插件 它使用 gem jquery rails 我在 gemspec 文件中添加了这段代码 s add dependency jquery rails gt 3 0 1 and run bundle i
  • 设置 git 别名,但调用它会给出“找不到命令”

    我想在 git 中设置一个别名来计算存储库中的总行数 因此我进入 Git Bash 并输入以下内容 git config global alias linecount ls files z xargs 0 wc l 我输入命令后 没有出现错
  • 子域中的 Rails url 助手 - 删除子域

    我网站上的用户可以拥有子域 例如 他们的页面网址是 name example com 登录的用户可以查看更多用户信息 因此在用户的显示页面上 我有一个使用以下代码生成的链接 user url user subdomain gt false
  • 如何让 Sidekiq 在 Heroku 上运行?

    这是我第一次尝试让 Redis 在 Heroku 上运行 我添加了一个工作dyno 就在今天 所以还没有付款 添加了RedisToGo Nano附加组件 在我的本地机器上测试了后台作业 并将应用程序推送到heroku heroku ps g
  • Git 实验分支还是单独的实验存储库?

    我正在开发一个 Android 应用程序 并且在整个开发周期中一直使用 Git 现在 我想构建并发布实验性功能 供人们尝试和安装 同时仍将原始的 稳定的应用程序安装在他们的设备上 现在 这意味着我需要使用不同的包名称 这会更改开发项目中的一

随机推荐

  • 如何将 Perlin 噪声值标准化到范围 [0, 1]?

    我正在使用 numpy 数组来保存柏林噪声值 有人告诉我 二维数组中的柏林噪声值分别在 0 7 0 7 范围内 但这似乎并非如此 至少对于凯斯曼来说不是 noise 库 当我调整八度 持久性和空白度的参数时 我会使用不同的库 但我找不到任何
  • Powerpoint VBA - 更改配色方案

    我需要通过 VBA 代码将演示文稿的配色方案更改为 Office 2007 2010 我怎样才能做到这一点 我尝试了类似下面的方法 但似乎不起作用 ActivePresentation ColorSchemes Add ActivePres
  • 如何在 laravel 5.3 中显示当前日期的日期名称?

    我想在 laravel 5 3 中打印当前日期的名称 我可以通过以下方式获取当前日期 上面的代码打印 25 但我希望它打印星期四 我应该怎么做 Try this
  • 有没有办法在密码文本模式下设置 ASP.NET 文本框密码字符?

    我希望当用户输入文本时 它应该显示 而不是一个简单的星号 有没有办法 在win forms的TextBox中有一个属性PasswordChar 它在web中有何相似之处 不 这是特定于浏览器的 也许你可以用 javascript 来伪造这个
  • 如何在 Delphi XE 中国际化我的应用程序?

    我正在使用 Delphi 中包含的翻译管理器 xe8 但在旧版本中应该相同 我转到 Projet gt 语言 gt 添加 选择英语 然后我翻译文本 这里是按钮 我全部更新并编译 我得到了 exe 和 enu 文件 它是法语的 当我转到 Pr
  • matlab中的KNN算法

    我正在研究拇指识别系统 我需要实现 KNN 算法来对我的图像进行分类 根据this 它只有 2 个测量值 通过这些测量值计算找到最近邻居的距离 但在我的例子中 我有 400 张 25 X 42 的图像 其中 200 个用于训练 200 个用
  • Spring Boot REST · @Constraint 用于删除?

    我正在开发一个使用 Spring Boot REST HATEOAS Hibernate 和 PostgreSQL 的系统后端 为了验证 我开始使用以下类extend org springframework validation Valid
  • LibGDX 移动旋转相机

    我在使用 LibGDX 构建的应用程序中遇到了一种情况 我需要相机能够旋转 并且可以由用户移动 并且能够缩放 我的相机移动和缩放相机的控件工作得很好 但是 当相机旋转时 相机会根据该旋转移动 例如 如果相机向左旋转 45 度 并且用户向右拖
  • 张量流/keras中输入的自相关

    我有一个一维输入信号 我想计算自相关作为神经网络的一部分 以便在网络内部进一步使用 我需要对输入与输入本身进行卷积 在 keras 自定义层 张量流中执行卷积 我们需要以下参数data shape is batch in height in
  • data.frame 中每组的平均值[重复]

    这个问题在这里已经有答案了 我有一个data frame我需要计算每组的平均值 即每Month 以下 Name Month Rate1 Rate2 Aira 1 12 23 Aira 2 18 73 Aira 3 19 45 Ben 1 5
  • 使用 javascript 以管理员身份运行批处理的简单方法

    我想导出一种简单可靠的方法来自动提升正在运行的批处理 而无需使用其他线程中建议的额外 VBS 文件或提升的快捷方式 通过 javascript 从批处理中调用 UAC 对话框可确保代码简短 当在对话框中选择 是 时 下面的脚本会自动将用户正
  • 多维数组中的多个文件上传

    我有一个 php 表单 行数未知 用户可以在其中上传文件 为此 我使用二维数组
  • 如何使用java读取https页面内容? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 如何使用java读取https页面内容 以下是检索 页面内容 的示例https maven apache org guides mini guide repository ssl
  • 抛出异常时不会调用移动构造函数

    我有一个累积当前异常的变量 并且需要在引发当前异常时进行清理 以便不会再次报告相同的错误 问题是throw std move ex 不调用移动构造函数 这会清理ex 而是调用复制构造函数 以便ex也保留已经抛出的错误 MVCE 如下 inc
  • Svelte:如何将操作传递给组件?

    有一个类似的问题被问到here但我不认为答案适用于我的用例 我在用着纤薄的材质 UI并试图延长数据表具有拖放行功能的组件 我正在使用简洁的 dnd 操作模块支持拖放行为 以下效果很好 我可以拖放表格的行 table thead thead
  • 卸载视图控制器时,保留/强类成员变量会自动清理吗?

    我有以下财产 h property nonatomic strong NSMutableDictionary cache m synthesize cache cache 的数据 cache建立在 viewDidLoad 之上 现在我想知道
  • 如何在Spring Security中传递参数和注销成功url?

    我在我的 spring boot 应用程序中使用基于 java 的 spring 安全配置 当用户单击注销链接时 用户将被重定向到登录页面 在本例中 我需要在注销成功 url 中传递自定义参数 例如当我注销时 应用程序被重定向到http l
  • 如何从窗口获取文本内容

    我有一个展示一本书的窗口 下面的两个较小的框中 有打开的书的页码和卷信息 我可以轻松获取该信息 如下所示 ControlGetText volume ThunderRT6TextBox3 ControlGetText page Thunde
  • 如何解决致命异常:Thread-11

    现在我正在开发一个 使用异步任务我面临这个错误 任何人都知道这一点 10 03 19 04 55 662 E AndroidRuntime 1547 FATAL EXCEPTION Thread 11 10 03 19 04 55 662
  • 每次部署后回形针文件都会被删除

    我使用 Paperclip gem 来存储图片 并且在本地主机上它工作得很好 但是 我添加到实时应用程序中的任何图片都会在每次部署后被删除 我使用Git来部署 这是我的部署过程 bundle exec cap production depl