django - 如果 Django 崩溃,在生产模式下会发生什么?
问题描述
我是 Django 的新手。由于在开发环境中,在请求之后发生错误(通常是因为处理不当)并且 Django 崩溃了,所以我考虑创建一个脚本(在生产中)来检测 Django 是否正在运行,如果没有再次运行它(一些像这样)。当然,在添加块尝试之后,除了任何地方。
但由于 Django 做得很好,如果已经考虑到这个问题,我不会感到惊讶,因此我提出了问题。
谢谢你。
解决方案
在生产环境中,您必须debug=False
在settings.py
. 设置调试错误模式后的片刻:
- 你需要为你的静态文件提供服务,所以你需要NGINX或 Apache。或者,您可以将 CDN 用于静态文件(AWS、Digital Ocean、任何其他流行的选项)
- 您需要通过反向代理后面的 Web 服务器运行 Django。有几种选择,我更喜欢Gunicorn + NGINX
- 任何阻止请求响应的未处理异常都会
500 Internal Server Error
为用户文档引发 - 您可以覆盖 500 错误模板(在您的根模板目录中创建 500.html)
- Django 将继续正常处理其他请求。
额外的:
- 记录此类情况是一种很好的做法,使用任何基于云的错误监控,例如。哨兵
有关 Django 部署的更多信息在这里
推荐阅读
- sql - 如何创建包含 JSON 的列,该列的名称从另一个表中的列的值定义?
- python - python中折线图的数据标签
- neo4j - 如何查询 Neo4j 节点以及节点之间的关系?
- c# - Bot Framework - 使用自定义语音服务错误 400 C#
- bash - 源激活不适用于 conda,PATH 可能存在问题,使用 mac
- android - todo-mvvm-xxx - 视图模型之间的通信
- php - 如何使用 PDO 回显表中的每个项目?
- entity-framework - Entity Framework Core 2.1 在左连接上抛出 ArgumentException
- c# - 从 SQL 表中获取数据到空变量
- coldfusion -
锁定生产 Lucee