MOD_WSGI在Mac OS X Snow Leopard上遇到困难

时间:2009-11-03 08:38:54

标签: python apache macos xampp mod-wsgi

我一直在尝试让MOD_WSGI在我的Mac OS X Snow Leopard上通过XAMPP在Apache上工作一整天,但没有任何成功。我已按照所有说明,在互联网上搜索解决方案等,但到目前为止没有运气。以下是我的完全步骤和详细信息。当我运行localhost时,我得到的是一个白色的屏幕。当我从httpd.conf中删除“LoadModule wsgi_module modules/mod_wsgi.so”时,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:没有为'all'做什么。”)
  7. 终端“sudo make install”(无错误)
  8. 添加到XAMPP的httpd.conf文件:
  9. LoadModule wsgi_module modules/mod_wsgi.so
    AddType text/html .py
    WSGIScriptAlias /app-sample "/Applications/xampp/xamppfiles/htdocs/app-sample/main.py"

    wsgi_module modules/mod_wsgi.so

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

    1. 通过XAMPP重启Apache

1 个答案:

答案 0 :(得分:3)

首先,运行'make distclean'然后重做mod_wsgi的configure / make / make install。你有'终端'的地方做“(消息”make:没有为'all'做什么。“)'表示在目录中有先前的构建结果,没有为make的执行构建任何内容。

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

此外,您的示例应用程序有何功能?您是否根据mod_wsgi网站上的文档尝试了一个简单的hello world程序,而不是跳转到使用您自己的程序。如果仅使用您自己的程序,那么您可能会导致Apache进程崩溃,因为正在使用的Apache和Python模块之间存在一些共享库冲突,这会导致空白响应。再次,仔细检查Apache错误日志,以获取在请求时记录的信息。

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