首页 > 解决方案 > 如果 Django 崩溃,在生产模式下会发生什么?

问题描述

我是 Django 的新手。由于在开发环境中,在请求之后发生错误(通常是因为处理不当)并且 Django 崩溃了,所以我考虑创建一个脚本(在生产中)来检测 Django 是否正在运行,如果没有再次运行它(一些像这样)。当然,在添加块尝试之后,除了任何地方。

但由于 Django 做得很好,如果已经考虑到这个问题,我不会感到惊讶,因此我提出了问题。

谢谢你。

标签: djangoservercrashrestart

解决方案


在生产环境中,您必须debug=Falsesettings.py. 设置调试错误模式后的片刻:

  • 你需要为你的静态文件提供服务,所以你需要NGINX或 Apache。或者,您可以将 CDN 用于静态文件(AWS、Digital Ocean、任何其他流行的选项)
  • 您需要通过反向代理后面的 Web 服务器运行 Django。有几种选择,我更喜欢Gunicorn + NGINX
  • 任何阻止请求响应的未处理异常都会500 Internal Server Error为用户文档引发
  • 您可以覆盖 500 错误模板(在您的根模板目录中创建 500.html)
  • Django 将继续正常处理其他请求。

额外的:

  • 记录此类情况是一种很好的做法,使用任何基于云的错误监控,例如。哨兵

有关 Django 部署的更多信息在这里


推荐阅读