0

我已经多次看到这个问题被问过,并且我已经尝试了所描述的解决方案 - 不幸的是,这些解决方案对我不起作用,所以我想问我自己的问题。我希望它没有被标记为欺骗或类似的。

我的问题是,在 Windows 7 上,我无法让 Apache 2.0 加载运行 Django 项目所需的 WSGI 模块。让我先描述一下我的环境,以及我是如何到达那里的。

Windows:我使用的是带有 Service Pack 1 的 Windows 7 64 位企业版。

Python:我已经安装了 python 2.7.3 32 位并将它放在我的路径上。当我python在 PowerShell 中输入时,我会看到以下消息:

C:\ $ python
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

我已经安装了 32 位 python,因为 Windows 没有 64 位版本的 WSGI 模块。我确保为所有用户安装它(我在其他问题上看到,为所有用户安装解决了加载 WSGI 模块的问题,但它并没有解决我的问题)。我已经通过以下步骤安装了 python:

  1. 以管理员身份启动 PowerShell(右键单击 ->“以管理员身份运行”)
  2. 运行以下命令:(msiexec /i python-2.7.3.msi ALLUSERS=1如此处所述:http: //www.python.org/getit/releases/2.4/msi/

Apache:我已经安装了 Apache 2.0 32 位(因此 Apache 的位版本与 Python 的位版本以及 WSGI 模块的位版本相匹配)。当我进入services.msc“运行”对话框 (Win+r) 并标记 Apache 时,我可以在左侧的描述中看到以下内容:

Description:
Apache/2.0.64 (Win32)

Apache 安装在此目录中:C:\Program Files (x86)\Apache Group\Apache2. 在我安装 mod_wsgi 之前,Apache 启动得很好。

mod_wsgi:我已经从这里下载了适用于 Windows 和 Python 2.7 的二进制文件:https ://code.google.com/p/modwsgi/wiki/DownloadTheSoftware?tm= 2(该文件名为“mod_wsgi-win32-ap22py27-3.3。所以”),然后我将其重命名为并将其mod_wsgi.so复制到C:\Program Files (x86)\Apache Group\Apache2\modules. 最后,我把这一行放在 Apache 的 httpd.conf:LoadModule wsgi_module modules/mod_wsgi.so中。

现在,当我尝试启动 Apache 时,我遇到了这个错误:

Syntax error on line 174 of C:/Program Files (x86)/Apache Group/Apache2/conf/httpd.conf:
Cannot load C:/Program Files (x86)/Apache Group/Apache2/modules/mod_wsgi.so into server:
The specified module could not be found.

我几乎被困在这里。

4

1 回答 1

0

橡皮鸭在这里帮了我很大的忙。在校对我的问题时,我发现 mod_wsgi 的文件名表明它适用于 Apache 2.2。我还发现我已经安装了 Apache 2.0。

升级到 Apache 2.2 解决了我的问题。希望它会帮助那里的人。

于 2013-03-21T13:30:27.687 回答