2

我今天整天都在尝试让 MOD_WSGI 在我的 Mac OS X Snow Leopard 上通过 XAMPP 在 Apache 上工作,但没有任何成功。我已按照所有说明进行操作,在互联网上搜索解决方案等,但到目前为止还没有运气。以下是我的确切步骤和详细信息。当我运行 localhost 时,我得到的只是一个白屏。wsgi_module modules/mod_wsgi.so当我从 httpd.conf中删除“LoadModule ”时,localhost 会按预期运行。

  1. 下载并安装 Xcode。
  2. XAMPP 已经安装并正在运行。
  3. 我不需要安装 Python,因为 OS X 已经有 64 位模式的 Python 2.6。
  4. 下载并解压 mod_wsgi-2.6.tar.gz 到桌面。
  5. 终端“./configure --with-apxs=/Applications/XAMPP/xamppfiles/bin/apxs --with-python=/System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6”(否错误)
  6. 终端“make”(消息“make:Nothing to be done for `all'.”)
  7. 终端“sudo make install”(没有错误)
  8. 添加到 XAMPP 的 httpd.conf 文件:

LoadModule wsgi_module modules/mod_wsgi.so
AddType text/html .py
WSGIScriptAlias /app-sample "/Applications/xampp/xamppfiles/htdocs/app-sample/main.py"

<Directory "/Applications/xampp/xamppfiles/htdocs/app-sample">  
Order deny,allow  
Allow from all  
</Directory>  

  1. 通过 XAMPP 重启 Apache
4

1 回答 1

3

首先,运行“make distclean”,然后为 mod_wsgi 重做 configure/make/make install。如果您有“终端“make”(消息“make:Nothing to be done for `all'.”)'表示目录中有先前的构建结果,并且没有为 make 的执行构建任何内容。

接下来,使用 '.wsgi' 扩展名而不是 '.py' 以确保您不会与现有的定义发生冲突,即 '.py' 文件应作为 CGI 脚本执行。这是空白回复的一个常见原因。Apache 错误日志应该为您提供有关此问题的线索。

另外,您的示例应用程序是做什么的?您是否尝试过按照 mod_wsgi 网站上的文档使用简单的 hello world 程序,而不是跳到使用您自己的程序。如果仅使用您自己的程序,那么您可能会由于正在使用的 Apache 和 Python 模块之间的某些共享库冲突而导致 Apache 进程崩溃,而其他原因会导致空白响应。再次,仔细检查 Apache 错误日志以获取在发出请求时记录的信息。

最后,您的程序可能只是有错误,并且在返回的 HTML 响应中有错误的语法,导致它无法显示。要求浏览器显示请求返回的页面的源代码,并确保它不是格式错误的 HTML。

于 2009-11-03T10:28:02.700 回答