mod_wsgi有问题

时间:2015-08-09 19:17:07

标签: python linux apache mod-wsgi

我正在使用Hostgator开发Linux Centos虚拟主机。我正在使用httpd版本2.2.15。

我使用标记--with-python=/usr/local/bin/python2.7--enable-shared配置了mod_wsgi-4.4.13。 Python 2.6安装在/usr/bin中。我有一个从/usr/local/lib/python2.7/config/libpython2.7.so.1.0/usr/local/lib/libpython.2.7.so.1.0的符号链接。

我的问题是,当我在python 'index.fcgi'中运行/var/www/html时,我收到了错误

  来自mod_wsgi的

导入get_wsgi_application   ImportError:/usr/lib64/httpd/modules/mod_wsgi.so:undefined symbol:apr_bucket_shared_split

我已尝试将$PYTHONHOME设为/usr/local。我已经设置了$LIBRARY_LD_PATH变量(在此之前我根本无法获取库)。我真的不确定接下来该做什么。请帮忙!

谢谢。

1 个答案:

答案 0 :(得分:0)

您有以下问题。

1 - --enable-shared不与mod_wsgi构建一起使用,但在构建时使用Python的configure脚本。有关详细信息,请参阅:

2 - 从内存中,Python的共享库应该已经链接到/usr/local/lib。如果你的Python安装没有出错。即使安装在备用位置使得库不在正常的共享库搜索路径上,而不是将libpython.2.7.so.1.0符号链接到适当的目录中,最好设置LD_RUN_PATH环境变量当从干净的源代码构建mod_wsgi成为Python共享库的目录时。参见:

3 - .fcgi文件与mod_wsgi无关,那么为什么你首先运行python index.fcgi

4 - 没有任何东西告诉你输入你的代码:

from mod_wsgi import get_wsgi_application

你在哪里看到你需要这样做?为什么甚至加载mod_wsgi.so我不知道Python不应该能够在Apache模块目录中找到它,就像那个目录不在普通的Python模块搜索上一样路径。

简而言之,您似乎正在做的事情已经告诉我们,您正在做的事情并不是mod_wsgi文档告诉您的事情。请提供指向您用于设置的官方mod_wsgi文档部分的指针。