Python django应用程序出现mod_wsgi Apache错误
我有一个django 1.7应用程序,在Centos7服务器上运行得很好。现在我转到生产服务器RHEL 6,但仍然存在一些问题 问题在于mod_wsgi 服务器配置: RHEL6 Apache2.2 Django 1.7 Python 2.6 apache错误日志Python django应用程序出现mod_wsgi Apache错误,python,django,apache,mod-wsgi,rhel6,Python,Django,Apache,Mod Wsgi,Rhel6,我有一个django 1.7应用程序,在Centos7服务器上运行得很好。现在我转到生产服务器RHEL 6,但仍然存在一些问题 问题在于mod_wsgi 服务器配置: RHEL6 Apache2.2 Django 1.7 Python 2.6 apache错误日志 [Fri Feb 20 11:18:39 2015] [error] [client 127.0.0.1] mod_wsgi (pid=12827): Target WSGI script '/home/evtdb/FLWeb/FLW
[Fri Feb 20 11:18:39 2015] [error] [client 127.0.0.1] mod_wsgi (pid=12827): Target WSGI script '/home/evtdb/FLWeb/FLWeb/wsgi.py' cannot be loaded as Python module.
[Fri Feb 20 11:18:39 2015] [error] [client 127.0.0.1] mod_wsgi (pid=12827): Exception occurred processing WSGI script '/home/evtdb/FLWeb/FLWeb/wsgi.py'.
[Fri Feb 20 11:18:39 2015] [error] [client 127.0.0.1] Traceback (most recent call last):
[Fri Feb 20 11:18:39 2015] [error] [client 127.0.0.1] File "/home/evtdb/FLWeb/FLWeb/wsgi.py", line 21, in <module>
[Fri Feb 20 11:18:39 2015] [error] [client 127.0.0.1] from django.core.wsgi import get_wsgi_application
[Fri Feb 20 11:18:39 2015] [error] [client 127.0.0.1] ImportError: No module named django.core.wsgi
[Fri Feb 20 11:18:39 2015] [error] [client 127.0.0.1] mod_wsgi (pid=12827): Target WSGI script '/home/evtdb/FLWeb/FLWeb/wsgi.py' cannot be loaded as Python module.
[Fri Feb 20 11:18:39 2015] [error] [client 127.0.0.1] mod_wsgi (pid=12827): Exception occurred processing WSGI script '/home/evtdb/FLWeb/FLWeb/wsgi.py'.
[Fri Feb 20 11:18:39 2015] [error] [client 127.0.0.1] Traceback (most recent call last):
[Fri Feb 20 11:18:39 2015] [error] [client 127.0.0.1] File "/home/evtdb/FLWeb/FLWeb/wsgi.py", line 21, in <module>
[Fri Feb 20 11:18:39 2015] [error] [client 127.0.0.1] from django.core.wsgi import get_wsgi_application
[Fri Feb 20 11:18:39 2015] [error] [client 127.0.0.1] ImportError: No module named django.core.wsgi
ldd模块/mod_wsgi.so
我认为一个问题可能是mod_wsgi似乎是用lib64编译的,所以我将flweb.conf上的python路径更改为lib64,但它不起作用
编辑:
我意识到服务器在/user/local/lib中有python 2.7,这是安装django的python版本。我更改了conf文件中的路径,但现在我想我需要重建mod_wsgi
编辑2:
试图重建mod_wsgi时出现此问题
/usr/bin/ld: /usr/local/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
据了解,编译为32位的python和mod_wsgi到64位的print sys.path之间是否存在冲突?django是否存在?我还没有意识到安装了另一个python版本,该版本由EDITpython-c'import django;打印django.\uuuuu文件\uuuuu我不相信您的路径设置正确。它所链接的python并不重要,您仍然可以提供一个替代的解释器来运行脚本,比如说virtualenv。正如编辑中所说,django安装在python2.7/usr/local/lib/python2.7/site packages/django/_uinit_u.pyc上。现在的问题是mod_wsgi是用python2.6编译的。我试图重新编译mod_wsgi,但在混合32位和64位包时遇到了一些问题。最后,我重新编译了python和mod_wsgi
"""
WSGI config for FLWeb project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/
"""
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "FLWeb.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
linux-vdso.so.1 => (0x00007fff6afff000)
libpython2.6.so.1.0 => /usr/lib64/libpython2.6.so.1.0 (0x00007fd69fc02000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd69f9e5000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fd69f7e0000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007fd69f5dd000)
libm.so.6 => /lib64/libm.so.6 (0x00007fd69f359000)
libc.so.6 => /lib64/libc.so.6 (0x00007fd69efc4000)
/lib64/ld-linux-x86-64.so.2 (0x000000330aa00000)
/usr/bin/ld: /usr/local/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC