Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » [ РЕШЕНО ] apache + django + wsgi. Проблемы [RSS Feed]

#1 Июнь 8, 2013 14:30:56

sliv
От: Москва
Зарегистрирован: 2013-06-03
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

[ РЕШЕНО ] apache + django + wsgi. Проблемы

Друзья, нужна Ваша помощь!
Пытаюсь развернуть проект на вирт. хостинге. Если конкретнее, то на timeweb. Говорили, что поддерживают и python и django. Да, действительно, подерживают, но только джанго 1.1.1.
В итоге, поставил 1.5.1, проекты создаются но при попытке зайти на сайт вместо желаемого “It worked!” выпадает 500-ая (Internal Server Error).
Проблема возникает когда кладу .htaccess в корень сайта. Что я в нем уже только не писал, ничего не помогает, в том числе и официальные доки. Наверняка, кто-нибудь сталкивался с подобной проблемой…

P.S. Вообще, я так понял что начиная с джанго версии 1.4 вся коммутация между сервером и джанго осуществляется в файле wsgi.py, который автоматически генерится, а в .htaccess необходимо всего лишь прописать пути к этому файлу и самому проекту. Судя по всему, я что-то упускаю, да???
Спасибо!

Отредактировано sliv (Июнь 8, 2013 22:56:23)

Офлайн

#2 Июнь 8, 2013 14:55:49

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

[ РЕШЕНО ] apache + django + wsgi. Проблемы

nginx / .htaccess ???
вы что-то делаете не так…

Офлайн

#3 Июнь 8, 2013 15:16:35

sliv
От: Москва
Зарегистрирован: 2013-06-03
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

[ РЕШЕНО ] apache + django + wsgi. Проблемы

)) Прошу прощения, конечно же apache стоит! Спасибо!(поправил в названии темы) Два дня за статьями про различные настройки под apache и nginx дали о себе знать… Внимание страдает(((
Тем не менее, проблема остается открытой.

Отредактировано sliv (Июнь 8, 2013 15:18:30)

Офлайн

#4 Июнь 8, 2013 15:24:21

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

[ РЕШЕНО ] apache + django + wsgi. Проблемы

смотрите логи, в них все написанно.

P.S. у апача вообше mod_wsgi есть? включён?

Отредактировано s0rg (Июнь 8, 2013 15:25:19)

Офлайн

#5 Июнь 8, 2013 15:41:08

truporez
От:
Зарегистрирован: 2009-05-08
Сообщения: 266
Репутация: +  6  -
Профиль   Адрес электронной почты  

[ РЕШЕНО ] apache + django + wsgi. Проблемы

я не стал морочиться с использованием генерированного wsgi и использовал свой. вот настройки с работающего на timeweb с моей django сайта. джанга старовата, поэтому структура путей немного отличная, но думаю разберетесь.

htaccess:

Options +ExecCGI
AddHandler wsgi-script .wsgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.wsgi/$1 [QSA,PT,L]

index.wsgi, лежит там-же где и .htaccess:
import os, sys
sys.path.append('/home/h/***/public_html/application') # там где manage.py и приложения
sys.path.append('/home/h/***/public_html') # потому как в installed_apps указан application как пакет
sys.path.append('/home/h/***/libs') # джанга и другие либы
os.environ['DJANGO_SETTINGS_MODULE'] = 'application.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

test.wsgi, факультативный wsgi для проверки работоспособности mod_wsgi:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-

def my_wsgi_application(environ, start_response):
status = '200 OK'
output = 'My Megasite'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
return [output]

application = my_wsgi_application



Офлайн

#6 Июнь 8, 2013 15:48:36

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

[ РЕШЕНО ] apache + django + wsgi. Проблемы

права на файлы *.wsgi какие? Что в логах апача?

Офлайн

#7 Июнь 8, 2013 15:50:40

sliv
От: Москва
Зарегистрирован: 2013-06-03
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

[ РЕШЕНО ] apache + django + wsgi. Проблемы

s0rg, Обращался по поводу mod_wsgi в тех.поддержку. Ответили следующее:

mod_wsgi на нашем сервере имеет стандартные настройки. Все необходимые опции возможно переопределить в файле .htaccess. С Вашей стороны никаких препятствий для настройки нет.

Как я уже писал, на хостинге есть возможность поставить готовую сборку версии 1.1.1 и она нормально работает. Для этого в корень кидаются файлы .htaccess и index.wsgi. Но в моем случае не прокатывает.

Спасибо, truporez! Попробую по Вашему рецепту!

Офлайн

#8 Июнь 8, 2013 15:59:16

sliv
От: Москва
Зарегистрирован: 2013-06-03
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

[ РЕШЕНО ] apache + django + wsgi. Проблемы

С логами сейчас непонятные проблемы (нет обновлений с 6-го числа, хотя ошибки постоянно выдает.) Уже написал в тех.поддержку - разбираются.
Последнее что было в логах (c тех пор, в принципе, особо ничего не поменялось):

[Thu Jun 06 12:37:30 2013] [error] [client 193.232.56.116] Options ExecCGI is off in this directory:  /home/s/****/mysite/public_html/index.wsgi

Отредактировано sliv (Июнь 8, 2013 16:04:44)

Офлайн

#9 Июнь 8, 2013 16:03:46

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

[ РЕШЕНО ] apache + django + wsgi. Проблемы

truporez же дал правильный .htaccess:

Options +ExecCGI

Офлайн

#10 Июнь 8, 2013 16:22:59

sliv
От: Москва
Зарегистрирован: 2013-06-03
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

[ РЕШЕНО ] apache + django + wsgi. Проблемы

Попробовав, по Вашему рецепту, truporez, пришел к следующему: test отработал нормально. При подключении index вываливается 500 опять((.

В корне у меня есть две папки:
python(сюда я произвел установку джанго: /home/s/***/python/lib64/python2.7/site-packages/django)
и
mysite, в которой public_html и error_log. Внутрь public_html закинул .htaccess и index.wsgi, там же создал проект core.
В index.wsgi следующее:

import os, sys
sys.path.append('/home/s/***/mysite/public_html/core')  # там где manage.py и приложения
sys.path.append('/home/s/***/mysite/public_html') # потому как в installed_apps указан application как пакет
sys.path.append('/home/s/***/python/lib64/python2.7/site-packages') # джанга и другие либы
os.environ['DJANGO_SETTINGS_MODULE'] = 'core.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

Вроде же все верно, почему же 500-ая??

Офлайн

  • Начало
  • » Web
  • » [ РЕШЕНО ] apache + django + wsgi. Проблемы[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version