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

在Ubuntu EC2实例中编辑Git克隆的Django项目遇故障如何解决?

排查Ubuntu EC2上Django项目本地正常、服务器故障的问题

这种“本地跑的好好的,一到服务器就崩”的场景我碰到过好多次,别慌,咱们一步步来定位问题:

1. 先确认服务器上的代码和本地完全同步

很多时候问题出在代码没传全:

  • 先在EC2上进入项目目录,用git status看看有没有未跟踪的文件,或者git log确认当前提交的版本是不是本地最新的那个。如果是手动复制文件的,用ls检查新的template、view文件是不是都在对应的目录里,比如新模板有没有放到templates/下。
  • 可以用diff命令对比本地和服务器的文件差异(如果能通过SSH连服务器的话):diff -r /本地项目路径/ ubuntu@EC2_IP:/服务器项目路径/,看看有没有文件缺失或内容不一致。

2. 查看Django的错误日志(最关键!)

服务器上的Django不会像本地那样直接在浏览器显示详细错误(除非开了DEBUG=True),所以一定要看日志:

  • 如果是用python manage.py runserver启动的,直接看终端里的输出,里面会有具体的错误信息(比如TemplateDoesNotExist、URL配置错误、Python语法报错)。
  • 如果用了Gunicorn/uWSGI这类服务器,找到对应的日志文件(比如Gunicorn日志可能在/var/log/gunicorn/,或者你启动时指定的--access-logfile路径),搜索关键词比如ERROR、Traceback,定位具体报错点。

3. 检查Python环境依赖是否一致

本地和服务器的包版本差异是常见坑:

  • 本地跑pip freeze > requirements.txt,把依赖列表传到服务器,然后在服务器的虚拟环境里跑pip install -r requirements.txt,确保所有包版本和本地一致。
  • 对比本地和服务器的Python版本:python --version,比如本地用3.10,服务器是3.8,有些新语法(比如match语句)会报错。
  • 确认服务器上激活了正确的虚拟环境:比如本地用venv,服务器上要先跑source venv/bin/activate再启动项目。

4. 检查Django配置文件(settings.py)

配置差异也会导致问题:

  • 看DEBUG和ALLOWED_HOSTS:如果服务器上DEBUG=False,要确保ALLOWED_HOSTS里加了EC2的公网IP或域名,否则会返回400错误。
  • 验证模板和静态文件路径:在服务器上启动Django shell,检查路径是否正确:
    python manage.py shell
    from django.conf import settings
    print(settings.BASE_DIR)
    print(settings.TEMPLATES[0]['DIRS'])
    
    确保BASE_DIR指向的是项目根目录,模板目录路径正确。

5. 清理缓存与重启服务

Django可能缓存了旧的配置:

  • 清理Django缓存:python manage.py clearcache
  • 删除项目里的__pycache__目录:find . -name "__pycache__" -type d -exec rm -r {} +
  • 完全重启Django服务,不要只是刷新页面,比如停止runserver后重新启动。

6. 检查文件权限

新上传的文件可能权限不足,导致Django无法读取:

  • 查看文件所有者:ls -l,确保运行Django的用户(比如EC2的ubuntu用户)有读写权限。
  • 如果权限不对,修改所有者:chown -R ubuntu:ubuntu /项目目录/,或者调整权限:chmod -R 755 /项目目录/

7. 逐步回退修改定位问题

如果以上都没找到原因,就把你新增的内容一步步回退:

  • 先恢复原来的urls.py,重启服务测试,看是不是URL配置的问题;
  • 再恢复原来的view函数,测试;
  • 最后恢复原来的模板,每次只改一部分,直到找到导致故障的具体代码块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:07:58