2

Django 用于处理其请求的底层基础设施是什么?

它是否使用线程,有人可以对此提供一些参考吗?

4

2 回答 2

4

Django 不是网络服务器。它是一个网络框架。它作为应用程序运行的行为取决于您为它提供服务的方法。

它可能是线程请求。它可能是进程。它甚至可以是异步的。

服务文件

Django 本身不提供文件。它将这项工作留给您选择的任何 Web 服务器。

wsgi 是目前为 django 提供服务的最常见方式,所以实际上你应该研究不同 wsgi 实现的配置选项。

于 2012-07-15T14:05:19.527 回答
1

如果您在使用时遇到随机分段错误,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

于 2018-07-25T23:50:54.493 回答