带有大图像的 sorl-thumbnail 错误 502

Sorl-thumbnail bugs 502 with large image

当我尝试使用 Sorl-Thumbnail 在模板大图像(超过 2000x2000 像素)中显示时出现错误 502 Bad Gateway。 =12=]

如果加载没有缩略图的页面只有图片并且小于 20000x2000 像素就没有错误

已经尝试过像这样更改 nginx 配置...:[=​​12=]

server {
    proxy_connect_timeout       1500;
    proxy_send_timeout          1500;
    proxy_read_timeout          1500;
    send_timeout                1500;
    location / {
        fastcgi_read_timeout 1500;
    }
}

像这样在模板中使用常规代码

{% thumbnail ph.image "500x500" crop="center" format="PNG" as im %}
<img src="{{ im.url }}"/>
{% endthumbnail %}

有什么建议吗?

仅供 google 搜索 Django Python Sorl-Thumbnail Thumbnail 502 Bad Gateway large image

我朋友帮我解决了这个问题。 Pil 漏洞!

Sorl-Thumbnail 中有类似 Engine 的内容。默认为 Pil

'sorl.thumbnail.engines.pil_engine.Engine' 

它在处理大图像时会出错。 所以最好使用

之类的东西

Pgmagick、ImageMagick/GraphicsMagick 或 Wand

我们选择了ImageMagick。在 settings.py 添加

THUMBNAIL_ENGINE = 'sorl.thumbnail.engines.convert_engine.Engine'

并通过

安装
apt-get install imagemagick

并且可能需要通过此命令为 gunicorn 中的图像调整大小处理增加时间

--timeout 600

也可能是服务器内存不足。我使用了 512 MB RAM 的服务器。用简单的网站。 (不浪费 RAM...)