在CyberPanel部署Django网站遇问题:默认页面未消失且仅8000端口可访问
解决OpenLiteSpeed+CyberPanel部署Django后默认页面残留、域名无法正常访问的问题
核心误区:停止使用python manage.py runserver
runserver是Django的开发调试服务器,和CyberPanel配置的OpenLiteSpeed生产环境完全独立,启动它只会占用8000端口,和域名绑定的vhost配置毫无关联。先停掉这个进程:
pkill -f "runserver example.com:8000"
逐步排查与修复配置
确认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应用后重新创建,确保填写的项目路径、虚拟环境路径完全正确。
- 登录CyberPanel,进入对应网站的
检查静态文件配置与权限
- 执行
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/[项目名]
- 执行
重启服务并排查日志
- 重启OpenLiteSpeed使配置生效:
systemctl restart lsws - 查看错误日志定位问题:
若日志出现模块缺失、权限报错,针对性修复依赖或权限问题。tail -f /usr/local/lsws/logs/error.log
- 重启OpenLiteSpeed使配置生效:
验证域名与SSL配置
- 用
ping example.com确认域名已正确解析到服务器IP。 - 进入CyberPanel的
SSL -> Manage SSL,确认SSL证书已部署且Force HTTPS选项已开启。
- 用
最终验证
清空浏览器缓存后访问https://example.com,确认默认页面消失,Django站点正常加载。
内容的提问来源于stack exchange,提问作者Jarvis
相关产品推荐
相关产品推荐

