3

我在 FastCGI + Apache + 共享主机上的 virtualenv 中使用Wagtail (Django 变体 CMS)。

通过内置 Wagtail Image Uploader 上传图像时,某些图像可以正常工作和编译,而某些上传会导致 500 内部服务器错误。

已尝试在导致错误但无法发现任何相似之处的图像类型中寻找模式。

我可以上传各种 JPG、GIF、PNG,大小从 88KB 到 236KB,最大尺寸为 1000px x 950px

图片上传

导致错误的文件也是各种 JPG、GIF、PNG。我不能上传任何大于 300KB 的文件,尽管一些只有 100KB 或更少的文件也会导致 500 错误。通过 django-admin 上传会导致同样的问题。

当我通过 sftp 和 cpanel 上传图像时,图像工作,所以那里没有问题。

WagtailPillow用于图像处理。

我不确定从哪里开始寻找这个。是枕头还是 Django 错误?

4

2 回答 2

6

我怀疑您的 Web 服务器设置了请求大小的限制 - 我们在 nginx 上部署时遇到了类似的事情,这对开箱即用的请求施加了 1 Mb 的限制。(对于 nginx,相关设置是client_max_body_size。)如果您看到一个普通的 500 Internal Server Error 页面而不是 Django 错误,这确实表明该错误发生在 Web 服务器级别而不是 Django 内部......你'如果您检查 Web 服务器的错误日志,希望能得到更多信息性的错误消息。

您可以尝试的一项简单检查是在 Wagtail 的“文档”区域上传相同的文件 - 这不会对文件进行任何类型的处理(它只存储它们),因此如果上传仍然失败,则消除 Pillow从可能性。

于 2014-04-06T21:48:32.007 回答
0

我也遇到了同样的错误,但就我而言,我在 Ubuntu VPS 中使用的是 apache2 Web 服务器。

但做

sudo chown www-data:www-data mysite/

sudo chmod 755 mysite/media

解决问题。

于 2020-07-16T03:30:40.657 回答