插入 mod_wsgi 后 Apache 不会重新启动

插入 mod_wsgi 后 Apache 不会重新启动

我对 Python 作为一种网络脚本语言很感兴趣,所以我想在我的测试服务器上安装它。

无法让 Apache 重新启动mod_wsgi。在 win7 64 位上运行 xampp v win32-1.8 w/apache v2.4、python v2.7 32 位。我看到的 Python 注册表文件位于 中hkey_classes_root。我不确定这是否正确,但 中没有hkey_current_user。 中的那个hkey_local_machine说未设置默认值。

这是我跑步时得到的apache_start.bat

Apache 2 正在启动...
httpd.exe:C:/xampp/apache/conf/httpd.conf 第 141 行语法错误:无法将 C:/xampp/apache/modules/mod_wsgi.so 加载到服务器:找不到指定的过程。

我在httpd.conf中添加的内容:

LoadModule wsgi_module modules/mod_wsgi.so

WSGIScriptAlias /wsgi_handler "C:/xampp/wsgi/mywsgi.py"

<Directory "C:/xampp/wsgi">
Order allow,deny
Allow from all
</Directory>

答案1

检查 Apache 的模块目录,看看是否有可用的 mod_wsgi。此外,由于您运行的是 Windows,因此您将查找 .dll 文件而不是 .so(特定于 Unix)。

答案2

启动 Apache 时出现问题通常由于以下原因。

  1. Python 并未为系统的所有用户安装,而仅为执行安装的用户安装。
  2. Apache、Python 和 mod_wsgi.so 并非全部都是 32 位,也并非全部都是 64 位。您不能混合使用 32 位和 64 位版本,必须全部相同。
  3. 如果 mod_wsgi.so 是二进制文件,则它不是正在使用的 Python 或 Apache 版本的正确二进制文件。

请注意,如果模块 mod_python 和 mod_wsgi 使用不同的 Python 版本,则不能同时加载它们。

您从哪里获得 mod_wsgi.so 二进制文件?您说您使用的是 Apache 2.4,但据我所知没有可用的预构建 mod_wsgi.so 二进制文件。

答案3

mod_wsgi.so 版本 3.3 尚不支持 Apache 版本 2.4

尝试使用 Apache 版本 2.2

mod_wsgi.so 3.4 版本现已推出,并且支持 Apache 2.4! http://code.google.com/p/modwsgi/wiki/ChangesInVersion0304

相关内容