如何在 Ubuntu 18.04 上编译支持线程的 Apache 2.4?

如何在 Ubuntu 18.04 上编译支持线程的 Apache 2.4?

尝试在 Ubuntu 18.04 上为 WSGI 应用程序安装 Apache 2.4,我想正确执行此操作。

因此我在 Apache 官方 2.4 文档中读到了以下内容:

“Apache 版本及其运行时库必须已编译了线程支持。”

现在,在 Ubuntu 上安装 Apache 的一个相对简单的方法是这样做:

sudo apt install apache2

我的问题是,这是否会导致安装的 Apache 版本及其运行时库必须编译为支持线程?

如果没有的话,有人能告诉我该怎么做吗?

我已经搜索了有关编译和安装 Apache 的 Apache 官方文档,但其中没有提到任何有关线程的内容。

https://httpd.apache.org/docs/current/install.html

以下教程可能有助于理解这一点: https://www.liquidweb.com/kb/apache-mpms-explained/

我在 Ubuntu 中运行了以下命令:
$ apache2ctl -V | grep -i 'version\|mpm'

研究结果或许有助于回答以下问题:

Server version: Apache/2.4.29 (Ubuntu)
Server MPM:     event

因此,看来我的 Apache 服务器正在运行 Event MPM,并且上述教程对 Event MPM 进行了如下说明:

Event下的每个进程也可以包含多个线程

所以,我想知道这是否意味着我的 Apache 版本及其运行时库已经编译了支持线程?

答案1

似乎使用 apt 在 Ubuntu 18.04 上安装 Apache:

sudo apt install apache2(并且)apache2-dev(不知道是否需要线程支持)

默认安装支持线程的 Apache。

这就是为什么我这么认为:

经过进一步的研究后,我偶然发现了 mod_wsgi 官方文档中有关检查 mod_wsgi 安装的部分。

它说你可以在终端中运行以下命令来检查 Apache 服务器的信息:

$ /usr/sbin/httpd -V

虽然对于我来说,使用 Ubuntu 18.04,这也有效:

`apache2ctl -V'

结果告诉我我的 Apache 版本支持线程:

...
Server MPM:     event
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
...

相关内容