Mac OS X Snow Leopard 上的 MOD_WSGI 困难

Posted

技术标签:

【中文标题】Mac OS X Snow Leopard 上的 MOD_WSGI 困难【英文标题】:MOD_WSGI difficulties on Mac OS X Snow Leopard 【发布时间】:2010-12-12 13:36:17 【问题描述】:

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

    已下载并安装 Xcode。 XAMPP 已安装并正在运行。 我不需要安装 Python,因为 OS X 已经有 64 位模式的 Python 2.6。 下载 mod_wsgi-2.6.tar.gz 并将其解压到桌面。 终端“./configure --with-apxs=/Applications/XAMPP/xamppfiles/bin/apxs --with-python=/System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6 "(没有错误) 终端“make”(消息“make:Nothing to be done for `all'。”) 终端“sudo make install”(无错误) 添加到 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>  

    通过 XAMPP 重启 Apache

【问题讨论】:

你检查过 apache 日志文件吗?他们说什么? 我正在尝试同样的事情,但在第 5 步时出现错误。:cannot open /Applications/xampp/xamppfiles/build/config_vars.mk: No such file or directory at /Applications/XAMPP/xamppfiles/bin/apxs line 218. 知道如何纠正这个问题吗? 没关系。我正在使用默认的xampp。我需要使用 xampp 的开发包。 :) 【参考方案1】:

首先,运行“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。

【讨论】:

另外,这在 Python 3 中是否可行,还是不值得?我通常更喜欢最新最好的 哪位成功了?尽管 mod_wsgi 3.0 可以与 Python 3.X 一起使用,但主要的 Python Web 框架和模块尚未移植到 Python 3.X,因此您重用其他包的能力将受到限制。 第一段和第二段都修复了它。 Mac OS X Snow Leopard 不附带 64 位 Python 3...我听说很多人在尝试将其编译为 64 位时遇到问题(我什至现在都不知道该怎么做!)。是否有关于如何成功做到这一点的权威指南?或者你知道 Python 是否会在未来发布自己的 64 位版本? 要在 MacOS X 上构建 64 位,请参阅“code.google.com/p/modwsgi/wiki/…”中的配置行。只需将路径更改为适合 Python 3.1 而不是 2.5。

以上是关于Mac OS X Snow Leopard 上的 MOD_WSGI 困难的主要内容,如果未能解决你的问题,请参考以下文章

在 10.6 (Snow Leopard) 之后以编程方式设置 Mac OS X 音量

如何在 Mac OS X Snow Leopard 上启用 mysqli?

Joomla 在 Mac OS X Snow Leopard 上使用默认 Apache

Mac OS X Snow Leopard 的默认 /etc/sysctl.conf 设置?

C 程序在 Mac OS X Snow Leopard 上执行磁盘 I/O 时卡在不间断等待

Ruby:mysql2-Gem 不工作(Mac OS X Snow Leopard,Ruby 1.9.2)