在Apache/Windows环境下找不到mod_wsgi

3

我无法强制Apache 2.2加载mod_wsgi模块。

当我从httpd.conf中删除以下行时,它可以正确启动:

`LoadModule wsgi_module modules/mod_wsgi.so`

我在尝试启动Apache时遇到了这个错误。

`httpd.exe: Syntax error on line 129 of D:/Apache2.2/conf/httpd.conf: Cannot load D:/Apache2.2/modules/mod_wsgi.so into server: The specified module could not be found. `

环境:
- Apache 2.2.16 x86 VC9 (来自ApacheLounge.com)
- Python 2.7.1 AMD64 (为所有用户安装)
- 将Python路径添加到系统路径
- Python与CGI正常工作

我搜索了很多信息,但都没有帮助。

有人有什么想法吗?

2个回答

5
目前为止,对于这个问题唯一确定的解释是文件实际上不存在或命名错误。除此之外,Python版本可能只安装在您自己的电脑上而不是所有用户的电脑上,这也会导致Apache无法找到它。错误提示mod_wsgi.so文件找不到,但实际问题可能是Python安装中的某个文件(可能是Python的DLL)找不到。建议您卸载Python并重新安装,确保为所有用户安装。

重新安装Python后问题解决了——奇怪的是,在重启后它之前一直正常工作,但却突然停止了。我并没有升级Python... - Brendan

0

上次我使用Windows时,它们有dll文件。因此,至少应该是LoadModule wsgi_module modules/mod_wsgi.dll

你的安装中是否有这个dll文件?


据我所看,我只有.so文件。其他模块已正确加载。 - M. A.
你是对的。你的mod_wsgi.so文件在apache模块目录中吗?我的Windows经验有限,但是在Linux上,如果你在32位Apache上使用64位 .so 文件,或者反之,你会得到类似的错误信息。 - ivy
是的,权限也没问题。文件名也可以。 - M. A.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接