You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

cPanel部署Django后静态文件加载404报错,找不到wsgi-loader.py求助

cPanel部署Django静态文件404问题解决方案

日志告警说明

你看到的wsgi-loader.py相关DeprecationWarning是cPanel内置Passenger服务的Python加载器兼容性警告,该警告不会导致静态文件404,也不影响Django核心功能运行。
你无法找到该文件属于正常情况:它归属cPanel预装的ea-ruby24系统软件包,路径为系统级受限路径,普通cPanel账号没有读取权限,无需在该文件上投入排查精力。

静态文件404修复步骤

  • 第一步:配置Web服务器静态文件映射规则
    cPanel + Passenger部署场景下,默认所有请求都会转发给Django WSGI进程,即使静态文件存放在public_html目录下也会被拦截,不会直接由Apache处理。你需要在应用根目录的.htaccess文件最顶部添加如下规则,注意替换路径中的占位符为你自己的cPanel账号用户名、以及实际的静态目录名:
# 静态文件直接由Apache处理,不转发给Django
Alias /static/ /home/你的cPanel用户名/public_html/static/
<Directory /home/你的cPanel用户名/public_html/static/>
    Require all granted
</Directory>

后续其他Passenger相关的配置规则放在上述规则之后即可。

  • 第二步:校验Django静态配置匹配性
    确认settings.py中的静态配置和上述路径完全一致:
STATIC_URL = '/static/'
# 路径必须和Alias中的STATIC_ROOT路径完全匹配,注意大小写
STATIC_ROOT = os.path.join(BASE_DIR, 'public_html', 'static')

重新执行python manage.py collectstatic确保静态文件都同步到目标目录。

  • 第三步:检查静态文件权限
    确保public_html/static目录权限为755,目录内的静态文件权限为644,文件归属为你的cPanel账号用户,不要使用root权限上传文件导致Web服务无读取权限。
  • 第四步:重启应用生效
    在Django应用根目录创建tmp目录,在目录内新建空文件restart.txt,Passenger检测到该文件更新会自动重启应用,无需重启服务器。

内容的提问来源于stack exchange,提问作者Luck Chhipa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 05:57:04