Ошибка mod_wsgi Apache с приложением django

У меня есть приложение django (1.7), которое хорошо работает на сервере Centos7. Теперь я перехожу на производственный сервер RHEL 6 и все еще имею некоторые проблемы.

Проблема заключается в mod_wsgi.

Конфигурация сервера:

  • RHEL6
  • Apache 2.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/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 

остальные важные файлы

flweb.conf

 WSGIScriptAlias / /home/evtdb/FLWeb/FLWeb/wsgi.py WSGIDaemonProcess localhost python-path=/home/evtdb/FLWeb:/usr/lib/python2.6/site-packages WSGIProcessGroup localhost <VirtualHost 127.0.0.1:8080> <Directory /home/evtdb/FLWeb/FLWeb> <Files wsgi.py> Order allow,deny Allow from all </Files> </Directory> </VirtualHost> 

wsgi.py

 """ 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() 

ldd modules / mod_wsgi.so

 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) 

Я думал, что проблема может заключаться в том, что mod_wsgi кажется скомпилированным с lib64, поэтому я изменил путь python на flweb.conf на lib64, но он не сработал

EDIT: Я понимаю, что на сервере есть python 2.7 in / user / local / lib, и это версия python, где установлена ​​django. Я изменил путь в файле conf, но теперь, я думаю, мне нужно перестроить mod_wsgi

EDIT2: попытка перестроить 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 

согласно https://code.google.com/p/modwsgi/wiki/InstallationIssues – это конфликт между python, который был скомпилирован до 32 бит, а mod_wsgi – до 64

Python - лучший язык программирования в мире.