繁体   English   中英

在Windows 64位上将mod_wsgi模块加载到apache的问题

[英]Problem of loading mod_wsgi module into apache on Windows 64-bit

我正在尝试按照此指令安装mod_wsgi模块。 我从这个来源下载了mod_wsgi.so。 似乎apache无法正常重启服务,并且在将以下行添加到httpd.conf后无法加载页面

LoadModule wsgi_module modules/mod_wsgi.so

我从一些来源检查了一些问题如下:

  1. 文件名是正确的 - mod_wsgi.so不是mod_wsgi.so.so
  2. 文件的权限设置与正确加载的其他模块相同
  3. 为所有用户安装了Python

环境:

  • WindowsServer®标准FE 64位
  • WAMP 2.0上的Apache 2.2.8
  • 为所有用户安装了Python 2.7.1

在不加载此模块的情况下,apache正常运行。 我的问题是什么?

应用程序error.log:

[Mon May 23 10:12:20 2011] [notice] Parent: Received shutdown signal -- Shutting down the server.
[Mon May 23 10:12:20 2011] [notice] Child 4528: Exit event signaled. Child process is ending.
[Mon May 23 10:12:21 2011] [notice] Child 4528: Released the start mutex
[Mon May 23 10:12:22 2011] [notice] Child 4528: All worker threads have exited.
[Mon May 23 10:12:27 2011] [notice] Child 4528: Child process is exiting
[Mon May 23 10:12:28 2011] [notice] Parent: Child process exited successfully.
[Mon May 23 10:13:46 2011] [notice] Apache/2.2.8 (Win32) PHP/5.2.6 configured -- resuming normal operations
[Mon May 23 10:13:46 2011] [notice] Server built: Jan 18 2008 00:37:19
[Mon May 23 10:13:46 2011] [notice] Parent: Created child process 5316
[Mon May 23 10:13:46 2011] [notice] Child 5316: Child process is running
[Mon May 23 10:13:46 2011] [notice] Child 5316: Acquired the start mutex.
[Mon May 23 10:13:46 2011] [notice] Child 5316: Starting 64 worker threads.
[Mon May 23 10:13:46 2011] [notice] Child 5316: Starting thread to listen on port 81.
[Mon May 23 10:14:57 2011] [notice] Parent: Received shutdown signal -- Shutting down the server.
[Mon May 23 10:14:57 2011] [notice] Child 5316: Exit event signaled. Child process is ending.
[Mon May 23 10:14:58 2011] [notice] Child 5316: Released the start mutex
[Mon May 23 10:14:59 2011] [notice] Child 5316: All worker threads have exited.
[Mon May 23 10:15:04 2011] [notice] Child 5316: Child process is exiting
[Mon May 23 10:15:04 2011] [notice] Parent: Child process exited successfully.

从apache error.log,很清楚安装的apache是​​32位吗?

Soulution:将所有内容更改为64位。

我也遇到过这种情况,Apache会在Windows 64bit上运行,但是如果加载mod_wsgi则不会。

我找到了一个非常简单的解决方案:

  1. 下载并安装64位版本的Apache,如果从http://wampserver.com/下载并安装,则可以轻松处理
  2. 从此页面下载mod_wsgi
  3. 将下载的压缩文件的内容解压缩到c:\\wamp\\bin\\apache\\Apache2.2.21\\modules\\
  4. 编辑httpd.conf并添加如下行: LoadModule wsgi_module modules/mod_wsgi.so
  5. 重启apache,然后继续你的django开发。

总结:一切(包括apache和mod_wsgi)必须是64位才能在64位窗口上运行Apache / mod_wsgi。

我在Windows 2008服务器上运行Apache / Mod_wsgi。

由Peter提供的64位Apache版本的链接已被破坏。 我找到一个适合我的:

http://www.apachelounge.com/download/win64/

阅读readme.txt。 安装非常简单。

他与64位mod_wsgi的链接仍然很好:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

我使用了win-amd64版本就好了,我认为我所使用的硬件是英特尔。

我确保Apache和Mod_wsgi版本与python版本匹配。 我相信我使用的mod_wsgi版本是3.3。

据我所知......

目前,Microsoft Windows不存在官方64位版本的Apache和PHP。

但是,有一个家伙在撰写本文时至少为我们编译了Apache 2.2.19 x64 ,你可以在这里下载。

如果你想要一个更新的版本,你必须自己编译,但这将是一项艰巨的任务!

此外,即使您确实在Windows上运行Apache x64,您打算如何处理mod_wsgi? 这就是为什么我决定为此目的创建一个Arch Linux LAMP堆栈的原因。 我现在工作正常,但由于Aptana不与Django项目同步,我再次研究Windows解决方案。

如果你找到一个好的解决方案,请告诉我!

编辑:我发现这些64位mod_wsgi的py2.6和2.7 ,但我还没有让它们工作。

编辑:是的! 我搞定了! 我的Apache服务监视器有一个绿灯,现在说Apache / 2.2.19(Win64)mod_wsgi / 3.3 Python / 2.6.4。 我正在使用2.6.4,因为这是Autodesk Maya正在运行的,我希望保持相同的版本以保持一致性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM