Уведомления

Группа в Telegram: @pythonsu

#1 Июль 1, 2010 19:47:38

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Django на nginx не видит settings.py

Сделал себе домашний сервер для разработок, на нем пытаюсь поднять тестовый проект на nginx:

server {
listen 80;
server_name fastcgi.testsite;
access_log /home/django/testsite/logs/nginx_access.log;
error_log /home/django/testsite/logs/nginx_error.log;

location / {
fastcgi_pass unix:/home/django/testsite/logs/django-server.sock;
include fastcgi_params;

fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}

location /media/ {
alias /home/django/testsite/media/;
expires 30d;
}

location /media_admin/ {
alias /usr/lib/python2.6/site-packages/django/contrib/admin/media/;
expires 30d;
}
}
запускаю джангу так:
sudo -u dw python /home/django/testsite/manage.py \
runfcgi method=prefork \
maxchildren=10 maxspare=5 minspare=2 maxrequests=100 \
socket=/home/django/testsite/logs/django-server.sock \
pidfile=/home/django/testsite/logs/django-server.pid \
umask=007
и все, что я вижу в браузере - радостная страница “вы создали свой первый джанго-проект”. Тупо не видится settings.py. В чем проблема?



Офлайн

#2 Июль 1, 2010 19:54:29

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Django на nginx не видит settings.py

Если бы он не видился, то вы бы получили ошибку на этапе запуска fastcgi гейта



Офлайн

#3 Июль 1, 2010 19:55:12

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Django на nginx не видит settings.py

Daevaorn
я пишу в него заведомо нерабочий код, а страница в браузере остается прежней, никаких ошибок



Отредактировано (Июль 1, 2010 19:56:05)

Офлайн

#4 Июль 1, 2010 20:11:21

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Django на nginx не видит settings.py

Вы гейт перезапускаете?



Офлайн

#5 Июль 1, 2010 22:15:13

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Django на nginx не видит settings.py

Daevaorn
и джангу перезапускал, и сам nginx



Офлайн

#6 Июль 2, 2010 07:49:28

Enchantner
От:
Зарегистрирован: 2009-02-11
Сообщения: 442
Репутация: +  0  -
Профиль   Отправить e-mail  

Django на nginx не видит settings.py

Так, вроде подхватил, но теперь другая проблема. Я заменил ADMIN_PREFIX на “/media_admin/”, а в nginx прописано:

location /media_admin/ {
alias /usr/lib/python2.6/site-packages/django/contrib/admin/media/;
expires 30d;
}
media отдается нормально, но при попытке перейти на /admin/ -
Unhandled Exception

An unhandled exception was thrown by the application.
в логах трейс почему-то обрывается на ровном месте:
2010/07/02 02:33:17 4147#0: *7 FastCGI sent in stderr: “” while reading response header from upstream, client: 192.168.0.3, server: fastcgi.testsite, request: “GET /admin/ HTTP/1.1”, upstream: “fastcgi://unix:/home/django-projects/testsite/logs/django-server.sock:”, host: “192.168.0.1”
2010/07/02 02:33:17 4147#0: *7 FastCGI sent in stderr: “Traceback (most recent call last):
File ”/usr/lib/pymodules/python2.6/flup/server/fcgi_base.py“, line 558, in run
protocolStatus, appStatus = self.server.handler(self)
File ”/usr/lib/pymodules/python2.6/flup/server/fcgi_base.py“, line 1118, in handler
result = self.application(environ, start_response)
File ”/usr/local/lib/python2.6/dist-packages/django/core/handlers/wsgi.py“, line 245, in __call__
response = middleware_method(request, response)
File ”/usr/local/lib/python2.6/dist-packages/django/contrib/sessions/middleware.py“, line 36, in process_response
request.session.save()
File ”/usr/local/lib/python2.6/dist-packages/django/contrib/sessions/backends/db.py“, line 56, in save
session_key = self.session_key,
File ”/usr/local/lib/python2.6/dist-packages/django/contrib/sessions/backends/base.py“, line 152, in _get_session_key
self._session_key = self._get_new_session_key()
File ”/usr/local/lib/python2.6/dist-packages/django/contrib/sessions/backends/base.py“, line 144, in _get_new_session_key
if not self.exists(session_key):
File ”/usr/local/lib/python2.6/dist-packages/django/contrib/sessions/backends/db.py“, line 29, in exists
Session.objects.get(session_key=session_key)
File ”/usr/local/lib/python2.6/dist-packages/django/db/models/manager.py“, line 132, in get
return self.get_query_set().get(*args, **kwargs)
File ”/usr/local/lib/python2.6/dist-packages/django/db/models/query.py“, line 336, in get
num = len(clone)
File ”/usr/local/lib/python2.6/dist-packages/django/db/models/query.py“, line 81, in __len__
self._result_cache = list(self.iterator())
File ”/usr/local/lib/python2.6/dist-packages/django/db/models/query.py“, line 269, in iterator
for row in compiler.results_iter():
File ”/usr/local/lib/python2.6/dist-packages/django/db/models/sql/compiler.py“, line 672, in results_iter
for rows in self.execute_sql(MULTI):
File ”/usr/local/lib/python2.6/dist-packages/django/d
и вообще, какого черта wsgi? Я же его на fastcgi запускаю?

АПД: проблема явно была в подключении к sqlite3. Сейчас пересоздал базу в PostgreSQL - все отлично работает.



Отредактировано (Июль 2, 2010 09:22:22)

Офлайн

#7 Июль 2, 2010 11:06:01

alvelin
От:
Зарегистрирован: 2010-07-02
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Django на nginx не видит settings.py

Не-а, косяк явно где-то на вашей стороне:
1. fastcgi_param - не умолчальный?
2. перепроверьте конфиг - смените сокеты на IP, может так заработает.
3. manage.py лучше тянуть скриптом на баше - меньше шансов ошибиться.
Хотя, сдается, вы в табличке где-то ошиблись



Отредактировано (Июль 2, 2010 15:04:51)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version