【问题标题】:Error starting mod_wsgi [closed]启动 mod_wsgi 时出错 [关闭]
【发布时间】:2014-07-29 10:14:51
【问题描述】:

当我在 mod_wsgi-experess 上运行 start-server 命令时,我得到以下输出:

Server URL      : http://localhost:8000/
Server Root     : /tmp/mod_wsgi-localhost:8000:0
Server Conf     : /tmp/mod_wsgi-localhost:8000:0/httpd.conf
Error Log       : /tmp/mod_wsgi-localhost:8000:0/error_log
httpd: Syntax error on line 2 of /tmp/mod_wsgi-localhost:8000:0/httpd.conf: module version_module is built-in and can't be loaded

它所指的 tmp 文件夹中的 httpd.conf 中的第 2 行表示以下内容。它是由 mod_wsgi 自动创建的:

LoadModule version_module '/usr/local/apache/modules/mod_version.so'

我被难住了。任何想法如何克服这个障碍?

【问题讨论】:

标签: python django apache python-3.x mod-wsgi


【解决方案1】:

我可以更改生成配置的完成方式,但您能否指出您使用的 Apache 版本是在哪个 Linux 发行版上提供的,或者您是否自己编译了它。您能否在您的问题中提供输出以供运行:

httpd -M

将该命令中的“httpd”更改为您的 Apache 安装调用的主 Apache HTTP 服务器可执行文件(如果已更改)。

现在生成的配置要求您使用 Apache 安装,该安装旨在为所有 Apache 模块使用动态共享对象 (DSO),并且不会在特定模块中静态编译。它还必须支持动态加载其他模块,例如 mod_wsgi。

我没有想到人们会使用在模块中静态编译的 Apache 版本,因为对大量模块这样做会破坏尝试通过仅加载所需内容来减少 Apache 内存大小的目的。

以后如果您对 mod_wsgi 有任何疑问,建议您使用 mod_wsgi 邮件列表。对于看起来源自 mod_wsgi 的实际错误/问题,请使用 github mod_wsgi 存储库上的问题跟踪器。 * 通常是询问 mod_wsgi 问题的一个糟糕的地方,因为 * 不是一个论坛,并且大量 mod_wsgi 问题在得到回答之前就被关闭了,因为对 mod_wsgi 一无所知的自我风格的版主实际上看不到问题是什么posed 可能是在询问并错误地将它们关闭为无效,而在很多情况下,如果他们确实知道该主题,则有简单的答案。


更新 1

有关此问题的进一步更新已在 ServerFault 上完成。

【讨论】:

  • 嗨,格雷厄姆,非常感谢您的回复。我在 CentOS 5.1 上运行 Apache 2.2.21。 httpd -M 的输出是这样的:pastebin.com/eEgyrQgV——我当然是 Apache 的新手,所以我感谢你的帮助。我一定会查看未来的邮件列表。
  • 那应该是 CentOS 5.10
最近更新 更多