哪个 Apache 包最适合 mod_wsgi Django 应用程序?

哪个 Apache 包最适合 mod_wsgi Django 应用程序?

在 Ubuntu(以及 Debian 和其他发行版)中,有几个 Apache 软件包(mpm-event、mpm-prefork、mpm-worker)。哪个最适合在单 CPU 服务器上托管 Django mod_wsgi 应用程序?哪个软件包是 OpenVZ 容器的最佳选择?

答案1

Worker MPM 是您的最佳选择。与 mod_wsgi 兼容。事件 MPM 可能会提供更高的性能,但使用频率要低得多,而且性能改进也很小 —— 因此我不推荐它。工作 MPM 在单独的线程中处理每个请求,这使得它比传统的 prefork 模型更适合在 VPS 上使用,后者对每个连接使用一个完整的进程。

答案2

如果您使用 mod_wsgi 守护进程模式,那么使用哪个 Apache MPM 都无关紧要,但建议对于 UNIX 系统使用工作 MPM,除非您必须使用 mod_php 托管 PHP 应用程序,因为某些 PHP 扩展不是线程安全的。

建议您必须拥有 worker MPM 才能使用 mod_wsgi 守护进程模式是错误的。重要的是底层 Apache 运行时库 (APR) 是否具有线程功能。通常情况总是如此,即使在 Apache 中使用 prefork MPM。唯一没有内置线程功能的系统是基于 BSD 的旧系统,其中线程有点问题。

答案3

如果在守护进程模式下使用 mod-wsgi,则需要 Worker(我更喜欢这种模式,因为我的 apache 服务器上运行着其他站点)。

如果您在嵌入模式下使用 mod-wsgi,则两种方式都可以。

它在文档中:http://code.google.com/p/modwsgi/

相关内容