2012-08-22 38 views
1

我试图加载wsgi_module到httpd.conf文件/红帽:mod_wsgi的,Django的,阿帕奇:未能加载“mod_wsgi.so”模块在httpd.conf

... 
    LoadModule wsgi_module modules/mod_wsgi.so 

但是,当我重新启动服务器我得到的followeing错误:

Starting httpd: httpd: Syntax error on line 201 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_wsgi.so into server: libpython2.5.so: cannot open shared object file: No such file or directory 

这很奇怪,因为文件和目录存在.. 任何想法?

+0

是正确的权限? – RickyA

+0

您打算获得“mod_wsgi.so”的许可? – Kreshnik

+0

mod_wsgi.so的权限为755. – Kreshnik

回答

2

您的mod_wsgi副本是针对不同于您拥有的python版本编译的。看起来它正在寻找Python版本2.5。如果你在你的系统上运行python -V,看看你已经安装了什么版本,并尝试找到一个针对该版本构建的mod_wsgi(python将输出类似2.7.3,这将是python 2.7)。

这是要么你的副本libpython2.5.so不在Apache的库路径。你可以尝试将它链接到apache库路径中的一个lib目录,或者你可以添加libpython2.5.so所在的目录,并将它添加到apache的库路径中。这serverfault question有几个答案,可以帮助你设置。

另一个很好的参考: Python executable not finding libpython shared library

+0

使用Fabric来部署django是个好主意吗? – Kreshnik

+0

我已经设置了$ PATH,但也有同样的问题..! – Kreshnik

+0

问题解决了:我重新安装了mod_wsgi 2.0(之前我有3.x),它可以正常工作:Apache 2.2.2和Python 2.5 – Kreshnik