我使用 Homebrew 来构建和安装 mod_wsgi:
$ brew install mod_wsgi
==> Downloading http://modwsgi.googlecode.com/files/mod_wsgi-3.2.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/mod_wsgi/3.2 --disable-debug --disabl
==> make install
==> Caveats
NOTE: "brew install -v mod_wsgi" will fail! You must install
in non-verbose mode for this to succeed. Patches to fix this
are welcome (and should be sent upstream too.)
* You must manually edit /etc/apache2/httpd.conf to load
/usr/local/Cellar/mod_wsgi/3.2/libexec/mod_wsgi.so
* On 10.5, you must run Apache in 32-bit mode:
http://code.google.com/p/modwsgi/wiki/InstallationOnMacOSX
==> Summary
/usr/local/Cellar/mod_wsgi/3.2: 3 files, 344K, built in 18 seconds
$
然后我在 /etc/apache2/httpd.conf 中添加了以下行:
LoadModule mod_wsgi_module /usr/local/Cellar/mod_wsgi/3.2/libexec/mod_wsgi.so
然后我重启了 Apache(使用sudo apachectl restart
)。但当我加载时,我收到“无法连接到服务器”的提示http://本地主机/,我在 /private/var/log/apache2/error_log 中看到以下内容:
[Tue Jul 06 15:15:18 2010] [notice] caught SIGTERM, shutting down
如果我注释掉 LoadModule 行并重新启动 Apache,它就会恢复工作。
我该如何按照 brew 安装说明正确地“手动编辑 /etc/apache2/httpd.conf 以加载 /usr/local/Cellar/mod_wsgi/3.2/libexec/mod_wsgi.so”?
(我正在运行 Mac OS X 10.6.4。)
更新:我按照说明强制执行 32 位http://code.google.com/p/modwsgi/wiki/InstallationOnMacOSX,但仍然存在同样的问题。
答案1
跑步:
sudo apachectl -t
您将清楚地看到您的配置有错误。使用:
LoadModule wsgi_module /usr/local/Cellar/mod_wsgi/3.2/libexec/mod_wsgi.so
正如说明中所说的那样。即使用“wsgi_module”而不是“mod_wsgi_module”。请参阅:
http://code.google.com/p/modwsgi/wiki/QuickInstallationGuide#Loading_Module_Into_Apache
如果 HomeBrew 告诉您其他情况,那么他们的说明就是错误的。