使用OS X Yosemite和Python 2.7,我试图遵循一个简单的hello world in Flask with Apache WSGI,但在执行apachectl -S
时收到此错误:
httpd: Syntax error on line 171 of /private/etc/apache2/httpd.conf: Cannot load libexec/mod_wsgi.so into server: dlopen(/usr/libexec/mod_wsgi.so, 10): image not found
首先,我将文件放在/usr/libexec/apache2/
与其他mod_*
文件中。其次,我尝试关注Graham Dumpleton's answer并验证以下步骤:
1。您没有隐藏扩展程序,并且已将扩展程序添加了两次。
gwg$ file /usr/libexec/apache2/mod_wsgi.so
/usr/libexec/apache2/mod_wsgi.so: Mach-O 64-bit bundle x86_64
2。 mod_wsgi.so文件对任何Apache服务用户都是可读的。
我不确定如何做到这一点,但我只是检查了文件对其他.so
文件的权限。例如:
gwg$ ls -l mod_vhost_alias.so
-rwxr-xr-x 1 root wheel 19472 Sep 9 18:11 mod_vhost_alias.so
和
gwg$ ls -l mod_wsgi.so
-rwxr-xr-x 1 root wheel 209564 Dec 4 17:05 mod_wsgi.so
第3。你的Apache是32 [64]位。
I'm not sure how to do this.
4。你的Python是32 [64]位。
>>> import struct
>>> print struct.calcsize("P") * 8
64
5。为所有用户安装了Python,而不仅仅是用户安装了它。
gwg$ sudo su -
root# python
Python 2.7.6 (default, Sep 9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
有任何帮助吗?提前谢谢。
答案 0 :(得分:2)
使用brew
对我来说最容易在Mac OS X上运行wsgi
。
这就是序列。
brew tap homebrew/apache
brew install mod_wsgi
xcode-select --install
LoadModule wsgi_module /usr/local/Cellar/mod_wsgi/3.X/libexec/mod_wsgi.so
httpd -t
=>语法OK