尝试在 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)
...