Django 用于处理其请求的底层基础设施是什么?
它是否使用线程,有人可以对此提供一些参考吗?
Django 不是网络服务器。它是一个网络框架。它作为应用程序运行的行为取决于您为它提供服务的方法。
它可能是线程请求。它可能是进程。它甚至可以是异步的。
Django 本身不提供文件。它将这项工作留给您选择的任何 Web 服务器。
wsgi 是目前为 django 提供服务的最常见方式,所以实际上你应该研究不同 wsgi 实现的配置选项。
如果您在使用时遇到随机分段错误,manage.py runserver
因为您必须在项目中使用的某些底层 C 库不是线程安全的,请尝试
manage.py runserver --nothreading
改用。
对于使用 wsgi 之类的工具运行 wsgi 的生产服务,mod_wsgi
通常可以选择禁用线程。在这种情况下,
WSGIDaemonProcess example processes=5 threads=1
请参阅https://modwsgi.readthedocs.io/en/develop/user-guides/processes-and-threading.html