Wagtail因PHP相关问题出现请求超时故障求助
Wagtail CMS 上传图片超时500问题(无服务器root权限)
问题描述
生产环境使用Wagtail CMS,此前运行正常,近期突发编辑功能故障:尝试上传图片时服务器无响应,2分钟后返回500请求超时错误。服务器日志(LiteSpeed Web Server)显示如下内容:
2023-04-05 15:46:28.099090 [INFO] [2491587] [T0] [89.64.94.186:6001-H3:5ADBFD82AE1101B3-20#APVH_www.live.pocketsafe.se:443] Connection idle time: 121 while in state: 7 stream flag: 0x162000,close! 2023-04-05 15:46:28.099143 [NOTICE] [2491587] [T0] [89.64.94.186:6001-H3:5ADBFD82AE1101B3-20#APVH_www.live.pocketsafe.se:443] Content len: 640710, Request line: 'POST /api/wagtail/cms/images/chooser/upload/ HTTP/1.1' 2023-04-05 15:46:28.099148 [INFO] [2491587] [T0] [89.64.94.186:6001-H3:5ADBFD82AE1101B3-20#APVH_www.live.pocketsafe.se:443] Cookie len: 334, csrftoken=f3LAgViNjjziXy4BfkNmCn7YrbK0kjtFXLyyXY0QazSdOQR9muoXos5eou1MVHKd; sessionid=suajse6uompo5u58n6wpvgi3jrol6zel; token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjgwNzA5NzU3LCJqdGkiOiJlZWI4ZGUzYmIwNjc0NjBkOWEyZjc1ZTI5ZDNkNGMwZCIsInVzZXJfaWQiOjE0Nn0.LzbHdwJssivr_jOpWQb07681bFBT3klZWy-1uIHiL88 2023-04-05 15:46:28.099150 [NOTICE] [2491587] [T0] [89.64.94.186:6001-H3:5ADBFD82AE1101B3-20#APVH_www.live.pocketsafe.se:443] Redirect: #1, URL: /wagtail/cms/imag 2023-04-05 15:46:28.099306 [INFO] [2491587] [T0] [89.64.94.186:6001-H3:5ADBFD82AE1101B3-20#APVH_www.live.pocketsafe.se:443] HttpExtConnector state: 10, request body sent: 0, response body size: -2, response body sent:0, left in buffer: 0, attempts: 0. 2023-04-05 15:46:28.099312 [INFO] [2491587] [T0] [89.64.94.186:6001-H3:5ADBFD82AE1101B3-20#APVH_www.live.pocketsafe.se:443] Lsapi connection state: 4, watching event: 25, respState: 0, m_iTotalPending:3592, m_iPacketLeft:0, m_iCurRespHeader:7, req sent for 121 seconds,Total processing time: 121. 2023-04-05 15:46:28.099375 [INFO] [2491587] [T0] [89.64.94.186:6001-H3:5ADBFD82AE1101B3-20#APVH_www.live.pocketsafe.se:443] abort request..., code: 4 2023-04-05 15:46:28.099378 [INFO] [2491587] [T0] [89.64.94.186:6001-H3:5ADBFD82AE1101B3-20#APVH_www.live.pocketsafe.se:443] Abort request processing by PID:2494544, kill: 1, begin time: 121, sent time: 121, req processed: 2
由于无服务器root权限,无法修改php.ini或LiteSpeed配置文件,需寻找替代解决方案。
可行解决方案
1. 排查应用层详细错误日志
当前日志仅显示Web服务器的超时终止信息,无法定位Wagtail/Django内部的故障点。需获取Wagtail的应用日志(通常是Django的django.log或项目自定义日志),查看上传请求在应用内执行时是否出现以下问题:
- 图片处理库(Pillow)报错
- 数据库连接超时或死锁
- 媒体存储目录(
MEDIA_ROOT)磁盘满或权限不足 - 第三方存储服务(如S3)连接失败
2. 测试小文件上传验证
尝试上传100KB以内的小型图片,如果能成功:
- 说明当前问题可能与文件大小触发服务器限制有关,临时解决方案为压缩图片后再上传(使用图片压缩工具将文件体积降至阈值以下)
3. 检查媒体存储状态
- 确认Wagtail配置的媒体存储路径是否可用:尝试在后台编辑已有图片(如裁剪、修改描述),如果操作失败,大概率是存储目录权限或磁盘空间问题,需联系运维团队确认
- 如果使用第三方云存储(如AWS S3、Cloudinary),检查存储服务的状态及应用配置的密钥是否有效
4. 重启应用进程
若有权限操作应用进程(如通过Supervisor、systemctl重启Wagtail的WSGI进程),尝试重启应用:
- 可能是进程长期运行出现僵死、内存泄漏等问题,重启后可临时恢复服务
5. 回滚依赖版本
如果近期更新过Wagtail、Django或相关依赖库(如Pillow、django-storages):
- 查看
requirements.txt或pyproject.toml的版本变更,回滚到之前稳定的版本,验证是否是版本兼容性导致的问题
6. 临时绕过上传功能
为保证内容编辑正常,可临时采用以下方式:
- 使用Wagtail的「外部图片」功能(若支持),直接插入已上传到第三方图床的图片链接
- 在编辑器中手动插入图片HTML代码,指向外部存储的图片地址
内容的提问来源于stack exchange,提问作者Sebastian Jędrzejewski
相关产品推荐
相关产品推荐

