在发布这篇文章之前,我已经阅读了很多网络资源,包括 mod_wsgi 维基,但我对 Apache 进程/线程与 mod_wsgi 如何交互仍感到困惑。
这是我的目前的理解:Apache 可以配置为运行一个或多个子进程来处理传入请求,每个子进程可以配置为再使用一个或多个线程来服务请求。在那之后,对我来说就开始变得模糊了。我的疑问有:
这是我的目前的理解:Apache 可以配置为运行一个或多个子进程来处理传入请求,每个子进程可以配置为再使用一个或多个线程来服务请求。在那之后,对我来说就开始变得模糊了。我的疑问有:
- 什么是 WSGIDaemonProcess,谁实际上调用我的 Django 应用程序使用 Python 子解释器?
- 如果我将我的 Django 应用程序运行在允许在单个 Apache 子进程中使用多个线程的模式下 - 是否意味着多个请求可能同时访问我的应用程序? 如果是这样的话 - 像设置模块级变量(例如用户ID)这样的事情会被其他并行请求覆盖并导致非线程安全行为吗?
- 对于上述情况,由于 Python 中的全局解释器锁,线程实际上是否会并行执行?