有没有人设法在 Mac OS X Leopard 上为 apache 编译 mod_wsgi?

Posted

技术标签:

【中文标题】有没有人设法在 Mac OS X Leopard 上为 apache 编译 mod_wsgi?【英文标题】:Is there anyone who has managed to compile mod_wsgi for apache on Mac OS X Leopard? 【发布时间】:2010-09-27 00:37:43 【问题描述】:

我正在处理一个需要在多线程服务器上进行调试的 Django 项目。我发现 mod_wsgi 2.0+ 是最容易使用的,因为 python 模块重新加载的简单解决方法。问题是无法在 Leopard 上编译。到目前为止,有没有人设法做到这一点,无论是内置的 Apache 还是 MAMP。如果有人发布指向预编译二进制文件的链接(适用于 intel、python 2.5、apache 2.2 或 2.0),我将不胜感激。


经过 3 小时的反复试验,我成功地为 Leopard 附带的 Apache 编译了 mod_wsgi 2.3。以下是其他人需要时的说明。

    ./配置

    在 Makefile 中更改 2 行

    CFLAGS = -Wc,'-arch i386'

    LDFLAGS = -arch i386 -Wl,-F/Library/Frameworks -framework Python -u _PyMac_Error

    make && sudo make install

    制作原始 httpd 的精简二进制文件

    cd /usr/sbin

    sudo mv ./httpd ./httpd.fat

    sudo lipo ./httpd.fat -thin i386 -output ./httpd.i386

    sudo ln -s ./httpd.i386 ./httpd

这应该适用于 intel macbook、macbook pro、imac 和 mac mini。据我了解,由于一些奇怪的架构不匹配问题,modwsgi 无法针对 MacPython 2.5.2 进行编译。但是,如果您将其编译为瘦二进制文件,它将无法与 Apache 胖二进制文件一起使用。所以这个hack解决了这个问题。其余的都是相当标准的配置,就像在任何其他平台上一样。

【问题讨论】:

【参考方案1】:

这并不能直接回答您的问题,但是您是否考虑过使用 MacPorts 之类的东西来处理这类事情?如果您要编译很多这样的软件,MacPorts 真的可以让您的生活更轻松,因为构建软件和依赖项实际上是自动的。

【讨论】:

我讨厌 MacPorts python。它有它自己的问题,让我的生活更加艰难。 请问有什么问题吗?我已经使用 MacPorts 版本很长时间了,没有出现大问题。 我记得在尝试使用 virtualenv、一些加密库等时遇到了很多问题。另外,Apache2 端口被破坏了很长时间。 好消息是事情会随着时间而改变。就像这个板一样,用户发布修复。您可能想重新访问 MacPorts。

以上是关于有没有人设法在 Mac OS X Leopard 上为 apache 编译 mod_wsgi?的主要内容,如果未能解决你的问题,请参考以下文章

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

Mac OS X Snow Leopard 上的 MOD_WSGI 困难

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

如何在Mac OS X 10.5 Leopard中刷新DNS

在Mac OS X Leopard上安装PHP+GD

Mac OS X Leopard 上的 Emacs 键绑定