代码之家  ›  专栏  ›  技术社区  ›  tmadsen

在Windows 7上使用Apache加载wsgi_mod

  •  0
  • tmadsen  · 技术社区  · 13 年前

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

    我的问题是,在Windows7上,我无法让Apache2.0加载WSGI模块,而运行Django项目需要WSGI模块。让我先描述一下我的环境,以及我是如何到达那里的。

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

    蟒蛇 :我已经安装了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/ )

    阿帕奇 :我已经安装了32位的Apache 2.0(因此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.so”),然后我将其重命名为 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.
    

    我几乎被困在这里了。

    1 回复  |  直到 13 年前
        1
  •  0
  •   tmadsen    13 年前

    这个 rubber duck 在这里帮了我很大的忙。在校对我的问题时,我发现mod_wsgi的文件名表明它可以与Apache 2.2配合使用。我还发现我已经安装了Apache 2.0。

    升级到Apache 2.2解决了我的问题。希望它能帮助到外面的人。

    推荐文章