Форум сайта python.su
Здравствуйте!
Пытаюсь развернуть свое первое приложение на виртуальном сервере.
ОС Debian.
Использую nginx+uWSGI, питон 2.7
Что делал:
поставил последнюю версию nginx, поставил django: aptitude install python-django
поставил uwsgi: pip install uwsgi
В nginx.conf прописал:
server { listen 80; listen 443; server_name mysite.com www.mysite.com; access_log /home/user/mysite.com/logs/nginx_access.log; error_log /home/user/mysite.com/logs/nginx_error.log; root /home/user/mysite.com/www/; location / { uwsgi_pass unix//var/tmp/mysite_uwsgi.sock; include uwsgi_params; uwsgi_buffers 8 128k; } location /static/ { alias /home/user/mysite.com/www/static/; expires 30d; } }
uwsgi: socket: /var/tmp/nginx_uwsgi.sock pythonpath: /home/user/mysite.com/www env: DJANGO_SETTINGS_MODULE=settings module: wsgi daemonize: /home/user/mysite.com/logs/uwsgi.log max-requests: 5000 buffer-size: 32768 harakiri: 30 reload-mercy: 8 master: 1 no-orphans: 1 touch-reload: /home/user/mysite.com/uwsgi
import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler()
Отредактировано dnstuff (Янв. 18, 2013 10:05:20)
Офлайн
попробуй для начала убедиться, что django установился:
# для python 2.7 $ python -c "import django; print django.VERSION" # для python 3 $ python -c "import django; print(django.VERSION)"
Отредактировано buddha (Янв. 8, 2013 00:10:04)
Офлайн
buddhaУстановился. Выдал (1, 4, 3, ‘final’, 0)
попробуй для начала убедиться, что django установился:
Офлайн
Скинь полный текст из консоли. Я обычно через pip ставлю. Попробовал через sudo aptitude install python-django всё работает. Я не гений Линукс, но попробуй добавить волшебное слово sudo везде(типа снеси и поставь заново).
Офлайн
Сам проект точно находится в /home/user/mysite.com/www ?
Офлайн
Почему-то не получается сделать admin-django.py доступной из любого места.
Делаю sudo ln /usr/lib/python2.7/dist-packages/django/bin/django-admin.py /usr/local/bin/
Символьная ссылка создается, а толку нет. Под апачем разворачивал проект, там как-то удалось сделать правильную ссылку, поначалу тоже не работало. Жаль, забыл как.
Офлайн
./manage.py - такой есть ?
в корне проекта
Офлайн
dnstuff
вы делаете не символьную ссылку, а жесткую. Это так, для корреткности.
Сделайте не ссылку например, а копирование. Лично у меня там сами файлы а не ссылки.
Офлайн
Всем спасибо. В общем и целом разобрался. Для себя решил, что django лучше ставить через pip.
Теперь следующая проблема:
Сразу после настройки сервера и wsgi была ошибка django: No module named mysite.urls.
Это удалось исправить правкой в settings.py ROOT_URLCONF = ‘mysite.urls’ на ROOT_URLCONF = ‘urls’
(не знаю, насколько это корректно)
Наконец-то появилось приглашение django Its work!
Попробовал первое представление hello world.
Новая ошибка: No module named mysite.views
Подскажите, пожалуйста, чего ему не хватает?
Спасибо!
Офлайн
dnstuffМодуль mysite прописан в INSTALLED_APPS?
Новая ошибка: No module named mysite.viewsПодскажите, пожалуйста, чего ему не хватает?Спасибо!
Офлайн