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 中运行时出现问题