Redmine 4.1.2生成缩略图失败返回404,求排查修复方案
Redmine 缩略图生成失败排查与修复方案
排查步骤
1. 验证ImageMagick(convert命令)可用性
日志明确显示convert命令执行返回退出码1,首先手动执行日志中的命令复现问题,定位具体报错:
'/usr/local/bin/convert' '/usr/local/www/redmine/files/2021/09/210901111738_4.jpg' -auto-orient -thumbnail '1000x1000>' '/usr/local/www/redmine/tmp/thumbnails/test.thumb'
根据执行返回的结果判断问题:
- 若提示
no decode delegate for this image format JPG,说明安装的ImageMagick缺少JPEG格式处理依赖,FreeBSD环境下需先安装graphics/jpeg组件,再重新编译安装ImageMagick并启用JPEG支持。 - 若提示权限相关错误,继续执行下一步排查。
2. 检查目录读写权限
Redmine运行进程的所属用户需要对两个目录持有对应权限:
- 附件存储目录
/usr/local/www/redmine/files/:需持有读权限 - 缩略图临时存储目录
/usr/local/www/redmine/tmp/thumbnails/:需持有读写执行权限
假设Redmine运行用户为www、用户组为www,可执行以下命令修正权限:
chown -R www:www /usr/local/www/redmine/files/ chown -R www:www /usr/local/www/redmine/tmp/thumbnails/ chmod -R 755 /usr/local/www/redmine/files/ chmod -R 775 /usr/local/www/redmine/tmp/thumbnails/
3. 校验Redmine缩略图配置
登录Redmine后台,进入管理 > 配置 > 文件页面,确认以下配置项:
- 启用缩略图 选项已勾选
- 缩略图最大尺寸 配置值不小于待生成的缩略图尺寸
- ImageMagick的convert命令路径配置为
/usr/local/bin/convert,与日志中的调用路径一致
4. thumbnail_tag 底层逻辑说明
你提到的thumbnail_tag方法定义在Redmine源码的app/helpers/application_helper.rb文件中,底层会调用Attachment#thumbnail方法执行convert命令生成缩略图,你提供的erb模板代码没有异常,无需调整。
修复方案(按优先级排序)
- 补全ImageMagick的图片格式处理依赖,FreeBSD环境下可直接通过pkg安装全功能版本:
pkg install ImageMagick7-nox11
- 按上述要求修正目录读写权限
- 重启Redmine服务让配置生效
内容的提问来源于stack exchange,提问作者Deive Relas
相关产品推荐
相关产品推荐

