如果 Django 崩溃,生产模式会发生什么?

What happen in production mode if Django crash?

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

但由于 Django 做得很好,如果这个问题已经被考虑在内,我也不会感到惊讶,因此我的问题。

谢谢。

在生产环境中,你必须在settings.py中使用debug=False模式。 设置调试错误模式后片刻:

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

附加:

  • 最好记录此类情况,使用任何基于云的错误监控,例如。 sentry

有关 Django 部署的更多信息是 here