如果 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
我是 Django 的新手。 由于在开发环境中碰巧在请求后发生错误(通常是因为处理不当)并且 Django 崩溃,所以我考虑创建一个脚本(在生产中)来检测 Django 是否 运行ning,如果不是运行 再一次(类似于 this)。当然,在添加块之后尝试除了所有地方。
但由于 Django 做得很好,如果这个问题已经被考虑在内,我也不会感到惊讶,因此我的问题。
谢谢。
在生产环境中,你必须在settings.py
中使用debug=False
模式。
设置调试错误模式后片刻:
- 您需要提供静态文件,因此您需要 NGINX 或 Apache。或者,您可以将 CDN 用于静态文件(AWS、Digital Ocean、任何其他流行的选项)
- 您需要 运行 通过反向代理后面的 Web 服务器来运行 Django。有几个选择,我比较喜欢 Gunicorn + NGINX
- 任何阻止请求响应的未处理异常都会为用户 docs 引发
- 您可以覆盖 500 错误模板(在您的根模板目录中创建 500.html)
- Django 将继续正常处理其他请求。
500 Internal Server Error
附加:
- 最好记录此类情况,使用任何基于云的错误监控,例如。 sentry
有关 Django 部署的更多信息是 here