# Ниже проверочный пример с hello world
# cat /data/www/hello.py
# cat /data/www/uwsgi.ini
# uwsgi --ini uwsgi.ini
# Теперь связка существующего проекта + uwsgi + nginx
# mkdir /usr/local/etc/uwsgi
# ниже settings.dev - укажите свои settings проекта, у меня это был: settings/dev.py
# не забудьте в нем указать свой ip в - ALLOWED_HOSTS = ['127.0.0.1', '192.168.10.12',]
# cat /usr/local/etc/uwsgi/uwsgi.ini
# cat /usr/local/etc/nginx/nginx.conf
# service uwsgi start
# service nginx start
Для проверки еще можно запустить так:
# python2.7 manage.py runserver 192.168.10.12:9090 --settings=settings.dev
Еще пример uwsgi.ini:
http-socket - используйте именно http-socket, а не просто socket, так как второй вариант потребует особой настройки nginx
параметр 127.0.0.1:8000 говорит, что серверная часть будет слушать порт 8000 на локальном хосте
если вы хотите проверить как работает приложение, то разрешите удаленный доступ к порту 8000 используя параметр 0.0.0.0:8000
chdir - корневой каталог приложения master - запуск в режиме мастера module - запускаемый модуль (deploy -> файл wsgi.py - > приложение application ) env - Задаем переменный окружения и в примере задан файл настроек pythonpath - перечисляем каталоги в которых производится поиск модулей для проекта uid - идентификатор пользователя gid - идентификатор группы processes - сколько запускать процессов threads - сколько запускать потоков plugins - загружаемые плагины logger - параметры логирования
nginx.conf:
location /static/ и /media/ описывают статические файлы, которые напрямую считываются с файловой системы location / - основной редирект на web-приложение autoindex off - запрещает просмотр содержимого каталога
У параметра alias обязательно указывайте завершающий /, в противном случае, запрос склеит имя файла и каталога.