找不到apache / windows的mod_wsgi

时间:2010-11-24 15:05:35

标签: windows django apache mod-wsgi

我的apache无法在windows上找到mod_wsgi。我正在使用apache 2.2,服务器使用默认的httpd.conf正确启动。

我将mod_wsgi.so放入apache的modules目录(C:\ Program Files \ Apache Software Foundation \ Apache2.2 \ modules),并具有所有用户的读/写权限。我将以下行添加到默认的httpd.conf

  

LoadModule wsgi_module   模块/ mod_wsgi.so

我在尝试启动apache时遇到此错误。有人有什么想法/建议吗?

  

httpd.exe:第129行的语法错误   C:/ Program Files / Apache Software   基金会/ APACHE2.2 / conf目录/ httpd.conf文件:   无法加载C:/ Program Files / Apache   软件   基金会/ APACHE2.2 /模块/ mod_wsgi.so   进入服务器:指定的模块   无法找到。

     

[Tue Nov 23 17:41:55 2010] [warn](操作系统   995)I / O操作已中止   因为线程退出或者是   申请要求。 :winnt_accept:   异步AcceptEx失败。

     

[2010年11月23日17:41:56] [通知]   子7384:发布了启动互斥锁

5 个答案:

答案 0 :(得分:7)

您在模块目录中停留的mod_wsgi模块文件的确切名称是什么。你从下载的内容中重命名了吗?你确定你没有在名称中添加额外的.so以获得mod_wsgi.so.so吗?如果您这样做,Windows可能会隐藏其中一个扩展名。

答案 1 :(得分:6)

另一种可能性是Apache 2.2安装为32位,而Python在64位计算机上安装为64位。我遇到过python mod_wsgi和遗留mod_python应用程序出错的情况。如果您运行的是32位Apache,那么无论版本如何,它都只喜欢找到32位Python。

答案 2 :(得分:0)

有关简单的解决方案,请参阅this page。您的apache很可能是在64位Windows上安装的32位,或者其他方式。或者你有一个文件名错误。要验证文件名是否正确并且存在所提及的扩展名:单击任何资源管理器窗口中的“工具”菜单,单击“文件夹选项”,然后在“查看”选项卡中,取消选中“隐藏已知文件类型的扩展名”,然后单击[应用]或[确定]。然后,您可以在验证mod_wsgi.so

后继续

答案 3 :(得分:0)

尝试

LoadFile "c:/yourPythonPath/python**.dll"

** =>您的python版本

在apache.config上

答案 4 :(得分:0)

环境python3.8.0 Apache2.4.41 mod_wsgi4.7.1 我已经在全局python环境中安装了mod_wsgi,这些是从输出到命令行的一些信息(我的python主页是E:\ Program Files \ python3.8):

将mod_wsgi-4.7.1-py3.8-win-amd64.egg提取到e:\ program files \ python3.8 \ lib \ site-packages 将mod-wsgi 4.7.1添加到easy-install.pth文件 将mod_wsgi-express-script.py脚本安装到E:\ Program Files \ Python3.8 \ Scripts 将mod_wsgi-express.exe脚本安装到E:\ Program Files \ Python3.8 \ Scripts

因此在目录E:\ Program Files \ Python3.8 \ Scripts中有一个可执行文件mod_wsgi-express.exe,您可以在命令行中运行以下命令

mod_wsgi-express模块​​配置

我的输出是:

LoadFile“ E:/ Program Files / Python3.8 / python3.8.dll” LoadModule wsgi_module“ E:/ Program Files / Python3.8 / lib / site-packages / mod_wsgi-4.7.1-py3.8-win-amd64.egg / mod_wsgi / server / mod_wsgi.cp38-win_amd64.pyd” WSGIPythonHome“ E:/ Program Files / Python3.8”

将输出复制到您的httpd.conf 产品{@ {3}}中提供了参考 这是我的第一次回答问题,我的月度语言不是英语,希望可以为您提供帮助。