我正在使用mod_wsgi + Python2.7。安装mod_wsgi后,我重新启动httpd。下面的内容被打印到我的Apache错误日志中。
"mod_wsgi pid=XXXX" Unable to import 'site' module.点击IP地址会产生一个
" Import error No module named os "在Apache错误日志中。
我已经使用mod_wsgi安装了yum安装mod_wsgi。我知道安装它的更好的方法是使用首选的Python版本从源代码编译它。
(然而,这样做失败了。在./configure生成以下错误后运行make。
/usr/lib64/apr-1/build/libtool --silent --mode=link gcc -o mod_wsgi.la -rpath /usr/lib64/httpd/modules -module -avoid-version mod_wsgi.lo -L/usr/local/lib -L/usr/local/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm
/usr/bin/ld: /usr/local/lib/libpython2.7.a(node.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libpython2.7.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
apxs:Error: Command failed with rc=65536
.
make: *** [mod_wsgi.la] Error 1)
使用安装问题的引线,我检查了我的mod_wsgi.so安装是否正常。
运行一个
ldd /etc/httpd/modules/mod_wsgi.so生产的
[root@BLFLDT9454T mod_wsgi-3.4]# ldd /etc/httpd/modules/mod_wsgi.so
libpython2.4.so.1.0 => /usr/lib64/libpython2.4.so.1.0 (0x00002b90b505d000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b90b5392000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002b90b55ae000)
libutil.so.1 => /lib64/libutil.so.1 (0x00002b90b57b3000)
libm.so.6 => /lib64/libm.so.6 (0x00002b90b59b6000)
libc.so.6 => /lib64/libc.so.6 (0x00002b90b5c39000)
/lib64/ld-linux-x86-64.so.2 (0x0000003530400000)这表明共享库已经在使用(如果我没有错的话)。
那我哪里会出错呢?
谢谢,Shoubhik
发布于 2013-08-28 09:11:29
在您引用的文档中,说明如下:
IOW。在为Python运行配置时,还没有安装启用共享的y Python安装。
此外,如果安装的内容仍然是引用Python2.4,那么您似乎也没有正确地删除现有的mod_wsgi。
https://stackoverflow.com/questions/18481283
复制相似问题