Вопрос по mod-wsgi, apache, python – Как мне перестроить мой mod_wsgi для использования python 2.7.3?

7

Я использую mod_wsgi для обслуживания сайта Django, но яу нас внутренняя ошибка сервера. Вот'Журнал Apache:

[Fri May 31 10:11:25 2013] [error] python_init: Python version mismatch, expected '2.7.2+', found '2.7.3'.
[Fri May 31 10:11:25 2013] [error] python_init: Python executable found '/usr/bin/python'.
[Fri May 31 10:11:25 2013] [error] python_init: Python path being used '/usr/lib/python2.7/:/usr/lib/python2.7/plat-linux2:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload'.
[Fri May 31 10:11:25 2013] [warn] mod_wsgi: Compiled for Python/2.7.2+.
[Fri May 31 10:11:25 2013] [warn] mod_wsgi: Runtime using Python/2.7.3.
[Fri May 31 10:11:25 2013] [notice] Apache/2.2.22 (Ubuntu) DAV/2 mod_fcgid/2.3.6 mod_python/3.3.1 Python/2.7.3 mod_ssl/2.2.22 OpenSSL/1.0.1 mod_wsgi/3.3 mod_perl/2.0.5 Perl/v5.14.2 configured -- resuming normal operations

Так что, похоже, чтоНесоответствие между версией mod_wsgi и версией Python во время выполнения. Как я могу обновить это?

Это несоответствие версий не должно иметь значения, если mod_wsgi связан с общей версией библиотеки Python, а не статически. Убедитесь, что у вас включено какое-то ведение журнала для Django, или отправьте админу сообщения об ошибках. Также убедитесь, что у вас есть 404 и 500 шаблонов, настроенных для Django. Graham Dumpleton
Сообщение об ошибкеbugs.launchpad.net/ubuntu/+source/libapache2-mod-python/+bug/... Sherbrow

Ваш Ответ

4   ответа
4

мне нужно скомпилировать из исходного кода, это помогло мне:

$ apt-get remove libapache2-mod-python libapache2-mod-wsgi 
$ apt-get build-dep libapache2-mod-python libapache2-mod-wsgi 
2

что файлы wsgi.load и wsgi.conf все еще упоминаются в настройке apache2. Для Ubuntu (и, возможно, Debian) это означает наличие символической ссылки из / etc / apache2 / mods-available на / etc / apache2 / mods-enabled.

Это очень очевидно, но иногда вы просто забыли. Спасибо! xxinerKYU
5

Скорее всего, так просто, как:

$ ./configure
$ make
$ sudo make install

Документация mod_wsgi охватывает это подробно.

2

Для настройки:https://www.digitalocean.com/community/tutorials/how-to-run-django-with-mod_wsgi-and-apache-with-a-virtualenv-python-environment-on-a-debian-vps Просто следуйте тем же шагам, настройте virtualenv в той же папке, что и мое приложение django.

Завершено следующей конфигурацией виртуального хоста:

<directory storage="" sandbox="" www="" django="" sampleapp="" static="">
    Allow from all
    Order deny,allow
</directory>
<directory storage="" sandbox="" www="" django="" sampleapp="" media="">
    Allow from all
    Order deny,allow
</directory>
WSGIScriptAlias / /storage/sandbox/www/django/sampleapp/sampleapp/wsgi.py
WSGIPythonPath /storage/sandbox/www/django/sampleapp/:/storage/sandbox/www/django/env/lib/python2.7/site-packages
<directory storage="" sandbox="" www="" django="" sampleapp="">
    <files wsgi.py="">
        Allow from all
        Order deny,allow
    </files>
</directory>

Похожие вопросы