MAMP 的 mod_wsgi 问题

Posted

技术标签:

【中文标题】MAMP 的 mod_wsgi 问题【英文标题】:mod_wsgi problem with MAMP 【发布时间】:2011-03-16 12:13:57 【问题描述】:

我让 mod_wsgi 如下

$./配置 --with-python=/Library/Frameworks/Python.framework/Versions/2.7/bin/python --with-apxs=/usr/local/apache2/bin/apxs

检查 Apache 版本... 2.0.63

配置:创建 ./config.status

config.status: 创建 Makefile

$sudo 制作 $sudo 制作安装

然后我将文件从 /usr/local/apache2/modules/mod_wsgi.so 复制到 /Applications/MAMP/Library/modules/mod_wsgi.so

然后我添加

LoadModule wsgi_module 模块/mod_wsgi.so

在 httpd.conf 中

我运行 apache 时出现错误。

$ 须藤 /应用程序/MAMP/库/bin/apachectl 开始

第 287 行的语法错误 /Applications/MAMP/conf/apache/httpd.conf: 无法加载 /Applications/MAMP/Library/modules/mod_wsgi.so 进入服务器:无法创建目标文件 图片或添加库

【问题讨论】:

提供“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/Makefile”中设置的 CONFIG_ARGS。还提供来自 'otool -L /Applications/MAMP/Library/modules/mod_wsgi.so' 的输出。 顺便说一句,当 MacOS X 提供的 Apache 这么新而不是古老的 MAMP 版本时,为什么你首先使用 MAMP?您的部分问题可能是您正在针对与随后使用的模块不同的 Apache 安装进行编译。是的,MAMP 可能不提供源代码,你不得不尝试这样做,但这听起来像是问题的根源。 $otool -L /Applications/MAMP/Library/modules/mod_wsgi.so /Applications/MAMP/Library/modules/mod_wsgi.so: /Library/Frameworks/Python.framework/Versions/2.7/ Python(兼容版本 2.7.0,当前版本 2.7.0)/usr/lib/libSystem.B.dylib(兼容版本 1.0.0,当前版本 125.2.0)/System/Library/Frameworks/CoreFoundation.framework/Versions/ A/CoreFoundation(兼容版本150.0.0,当前版本550.29.0)什么是CONFIG_ARFS?? CONFIG_ARGS 是 Makefile 中位于“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/Makefile”的变量。它显示了在构建 Python 安装时使用了哪些配置选项。来自 Python 网站的 Python dmg 安装程序过去并不总是以适用于 MacOS X 上的嵌入式系统的方式构建。查看 args 的目的是看看这次是否可以。你不需要在你的机器上安装 Apache 2.2,因为 Apple 默认自带一个。运行“/usr/sbin/httpd -V”查看版本。 code.google.com/p/modwsgi/wiki/QuickConfigurationGuide 【参考方案1】:

第 1 步:确保您的 MAMP is Version 2 版本,因为它包含通用二进制安装程序(32 位和 64 位)

第二步:Modify your Make file 并去掉其他编译器版本,类似:

CPPFLAGS = -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -DNDEBUG 
CFLAGS = -Wc,"-arch i386" -Wc,"-arch x86_64" -Wc
LDFLAGS = -arch i386 -arch x86_64 -F/Library/Frameworks -framework Python -u _PyMac_Error 
LDLIBS = -ldl  -framework CoreFoundation

第 3 步:在 httpd.conf 中:LoadModule wsgi_module modules/mod_wsgi.so

【讨论】:

以上是关于MAMP 的 mod_wsgi 问题的主要内容,如果未能解决你的问题,请参考以下文章

Django/mod_wsgi/Apache - mod_wsgi 没有使用为其编译的 Python 版本 - “ModuleNotFoundError: No module named 'math'

在生产中,Apache + mod_wsgi 还是 Nginx + mod_wsgi?

让 Django 项目在 mod_wsgi 中运行时出现问题

mod_wsgi:ImportError:没有名为“编码”的模块

Django 和 mod_wsgi python 版本?

使用 mod_wsgi 在 apache 上设置 Django