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

在CyberPanel部署Django网站遇问题:默认页面未消失且仅8000端口可访问

解决OpenLiteSpeed+CyberPanel部署Django后默认页面残留、域名无法正常访问的问题

核心误区:停止使用python manage.py runserver

runserver是Django的开发调试服务器,和CyberPanel配置的OpenLiteSpeed生产环境完全独立,启动它只会占用8000端口,和域名绑定的vhost配置毫无关联。先停掉这个进程:

pkill -f "runserver example.com:8000"

逐步排查与修复配置

  1. 确认CyberPanel的Django应用配置有效性

    • 登录CyberPanel,进入对应网站的Website -> Manage -> Django App Manager,检查应用状态是否为Active。
    • 打开vhost配置文件/usr/local/lsws/[你的域名]/conf/vhost.conf,确认存在指向Django项目wsgi.py的配置段,示例如下:
      context / {
        type                    wsgi
        location                /home/[你的域名]/public_html/[项目名]/[项目名]/wsgi.py
        wsgiFile                /home/[你的域名]/public_html/[项目名]/[项目名]/wsgi.py
        wsgiEnv                 PYTHONPATH=/home/[你的域名]/public_html/[项目名]
        extraHeaders            <<<END
        SetEnv DJANGO_SETTINGS_MODULE [项目名].settings
        END
      }
      
    • 若配置缺失,删除现有Django应用后重新创建,确保填写的项目路径、虚拟环境路径完全正确。
  2. 检查静态文件配置与权限

    • 执行python manage.py collectstatic,将静态文件收集到settings.py中STATIC_ROOT指定的目录(比如/home/[你的域名]/public_html/static)。
    • 进入CyberPanel的Website -> Manage -> Rewrite Rules,确认存在静态文件映射规则:
      rewriteRule ^/static/(.*)$ /home/[你的域名]/public_html/static/$1 [L]
      
    • 修复项目目录权限,确保OpenLiteSpeed的nobody用户能读取文件:
      chown -R nobody:nogroup /home/[你的域名]/public_html/[项目名]
      chmod -R 755 /home/[你的域名]/public_html/[项目名]
      
  3. 重启服务并排查日志

    • 重启OpenLiteSpeed使配置生效:
      systemctl restart lsws
      
    • 查看错误日志定位问题:
      tail -f /usr/local/lsws/logs/error.log
      
      若日志出现模块缺失、权限报错,针对性修复依赖或权限问题。
  4. 验证域名与SSL配置

    • 用ping example.com确认域名已正确解析到服务器IP。
    • 进入CyberPanel的SSL -> Manage SSL,确认SSL证书已部署且Force HTTPS选项已开启。

最终验证

清空浏览器缓存后访问https://example.com,确认默认页面消失,Django站点正常加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 12:52:19