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

uWSGI启动报错无法加载应用,访问站点出现内部服务器错误求助

解决uWSGI无法加载os模块导致的Internal Server Error问题

从你的错误日志里能一眼看到核心问题:

Set PythonHome to /root/wxr/wxr
ImportError: No module named os

os是Python的内置核心模块,连它都找不到,说明uWSGI被配置到了错误的Python环境里——你在uwsgi.ini里设置的home参数指向了项目目录,而非正确的Python安装路径(你又没用到虚拟环境),这直接导致uWSGI找不到系统Python的基础模块。

修复步骤

  1. 修正uWSGI配置
    打开/etc/uwsgi/sites/wxr.ini,找到并注释掉(或直接删除)home = /root/wxr/wxr这一行:

    [uwsgi]
    project = wxr
    base =/root
    #chdir = %(base)/%(project)/%(project)
    #home = %(base)/%(project)/%(project)
    wsgi-file = /root/wxr/wxr/main/wsgi.py
    chdir = /root/wxr/wxr
    # 注释掉这行:你没有虚拟环境,不需要指定home路径
    # home = /root/wxr/wxr
    module = main.wsgi:application
    master = true
    processes = 5
    socket = /tmp/uwsgi/%(project).sock
    chmod-socket = 666
    vacuum = true
    enable-threads = true
    no-site = true
    req-logger = file:/tmp/reqlog
    logger = file:/tmp/errlog
    
  2. 重启uWSGI服务
    执行命令让新配置生效:

    sudo systemctl restart uwsgi
    
  3. 验证修复效果
    再次通过IP访问站点,应该能正常加载页面了。如果还有问题,去/tmp/errlog查看最新错误日志继续排查。

额外优化建议

  • 不要用root运行uWSGI:日志里反复警告you are running uWSGI as root,这有安全隐患。建议创建普通项目用户(比如用www-data),然后在uwsgi.ini里添加uid = www-data和gid = www-data,同时确保项目目录对该用户开放权限。
  • 调整Nginx访问权限:你的静态/媒体文件都在/root目录下,Nginx的运行用户www-data可能没有读取权限。要么把项目移到/var/www这类非root目录,要么修改权限:
    chmod -R 755 /root/wxr
    chown -R root:www-data /root/wxr
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:41:01