Найти - Пользователи
Полная версия: Apache + mod_wsgi
Начало » Django » Apache + mod_wsgi
1
hound
Ребята, доброго вечера!
В общем, уже второй день ломаю голову чтобы подружить уже апач с джанго…
Делал по этой инструкции:
http://djbook.ru/ch20s04.html

Создал тестовый проект
django-admin.py startproject mysite
в директории /var/www/

Вот такие настройки прописан в созданном файле apache/django.wsgi
import os, sys

#sys.path.append('/usr/local/lib/python3.4/dist-packages/django')

sys.path.append('/var/www/mysite/')

os.environ = ‘mysite.settings’
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()


Такие в файле настроек апача:
<VirtualHost *:80>
DocumentRoot /var/www/mysite/


WSGIScriptAlias / /var/www/mysite/apache/django.wsgi
WSGIDaemonProcess cargo processes=2 maximum-requests=5 threads=1
WSGIProcessGroup cargo

#ErrorLog “|/usr/sbin/rotatelogs /var/log/apache2/cargo.error.%Y-%m-%d.log 86400”
#CustomLog “|/usr/sbin/rotatelogs /var/log/apache2/cargo.access.%Y-%m-%d.log 86400” combined
ServerSignature On


</VirtualHost>


При попытке зайти на айпи серера вываливается 500 ошибка…
Лог апача в прицепке…
система ubuntu server 14
Помогите пожалуйста разобраться, а то уже сил нет
GreyZmeem
https://code.djangoproject.com/ticket/23146
hound
GreyZmeem
https://code.djangoproject.com/ticket/23146


Теперь он так ругается:
mod_wsgi (pid=2128): Target WSGI script ‘/var/www/mysite/django.wsgi’ cannot be loaded as Python module.
mod_wsgi (pid=2128): Exception occurred processing WSGI script ‘/var/www/mysite/django.wsgi’.
Traceback (most recent call last):
File “/var/www/mysite/django.wsgi”, line 10, in <module>
application = django.core.wsgi.get_wsgi_application()
AttributeError: ‘module’ object has no attribute ‘wsgi’



файл django.wsgi имеет такой вид:
import os, sys

#sys.path.append('/usr/local/lib/python2.7/dist-packages/django')

sys.path.append('/var/www/mysite/')

os.environ = ‘mysite.settings’
import django.core.handlers.wsgi

application = django.core.wsgi.get_wsgi_application()



Да и странно почему он до этого в логах писал такой путь в джанго:
/usr/local/lib/python2.7/dist-packages/django/template/debug.py

когда в настройках я ему указывал:
/usr/local/lib/python3.4/dist-packages/django
hound
Поменял файл django.wsgi:
import os, sys

sys.path.append('/usr/local/lib/python3.4/dist-packages/django')

sys.path.append('/var/www/mysite/')

os.environ = ‘mysite.settings’

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()


Так зараработало…
но все так же смущает, путь к джанго…в строчке
sys.path.append('/usr/local/lib/python3.4/dist-packages/django')
при указании “левого” все равно работает…
Зачем тогда его указывать? И как проверить какая версия питона запускается в итоге?

Ради интереса вставил в этот файл функцию:
print “hello”

без скобок…в логах ошибок не было, а раз работает без скобок значит питон 2 юзается…вопрос как переключить на 3-ий?) или я чего-то не понимаю?)
hound
В общем, удалил модуль wsgi для апача…потом поставил
libapache2-mod-wsgi-py3
Настроил файл как в прошлом моем сообщении
с 3-ьим питоном вроде как заработало…в брайзере по айпи сервера тестовая страница питона отображается…
но в логах апача появляется следующее (в аттаче) критичные ли эти ошибки? что еще нужно допилить?
nnmware
Полагаю зависит от того питона, с которым mod_wsgi собран.
Я бы вообще порекомендовал nginx+uwsgi юзать, лепотища.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB