# === Конфикурационный файл uwsgi pets-clone--uwsgi.ini === [uwsgi] # НАСТРОЙКИ ДЛЯ DJANGO # Корневая папка проекта (полный путь) chdir: /home/web/clone.cocorico.ru/rosmorport_tsts # Django wsgi файл rosmorport_tsts/wsgi.py записываем так: module: rosmorport_tsts.wsgi # полный путь к виртуальному окружению home: /home/web/clone.cocorico.ru/env # полный путь к файлу сокета # route: ^/websocket 127.0.0.1:8021 socket: unix:///home/web/clone.cocorico.ru/socket/clone_pets.sock # Исходящие сообщения в лог daemonize: /home/web/clone.cocorico.ru/logs/clone-pets-uwsgi.log # ЗАГАДОЧНЫЕ НАСТРОЙКИ, ПО ИДЕЕ ОНИ НУЖНЫ, НО И БЕЗ НИХ ВСЁ РАБОТАЕТ # расположение wsgi.py # wsgi-file: /home/web/clone.cocorico.ru/rosmorport_tsts/rosmorport_tsts/wsgi.py # расположение виртуального окружения (как оно работает если этот параметр не указан, не ясно) virtualenv: /home/web/clone.cocorico.ru/env # имя файла при изменении которого происходит авторестарт приложения # (когда этого параметра нет, то гичего не авторестартится, но с ним все рестартится. # Cтоит изменить любой Python-исходник проекта, как изменения сразу вступают в силу. touch-reload: /home/web/clone.cocorico.ru/logs/touchreload.txt py-autoreload: 5 # НАСТРОЙКИ ОБЩИЕ # быть master-процессом master: true # максимальное количество процессов processes: 1 # если uWSGI устнаовлен как сервис через apt-get то нужно установить еще плугин: # sudo apt-get install uwsgi-plugin-python3 # и добавить в этот конфиг: plugin: python3 plugin: python3 # права доступа к файлу сокета. По умолчанию должно хватать 664. Но каких-то прав не хватает, поэтому 666. chmod-socket: 777 # очищать окружение от служебных файлов uwsgi по завершению vacuum: true # количество секунд после которых подвисший процес будет перезапущен # Так как некоторе скрипты требуют изрядно времени (особенно полная переиндексация) то ставим значение побольще harakiri: 2600 # В общем случае, при некотых значениях harakiri логах uWSGI может вываливаться предупреждение: # WARNING: you have enabled harakiri without post buffering. Slow upload could be rejected on post-unbuffered webservers # можно оставить harakiri закоментированным, но нам нужно 900 и на него не ругается. Ругается на 30. # разрешаем многопоточность enable-threads: true vacuum: true thunder-lock: true max-requests: 500 # пользователь и группа пользователей от имени которых запускать uWSGI # указываем www-data: к этой группе относится nginх, и ранее мы включили в эту группу нашего [user] # uid : nginx # gid : nginx # uid : www-data # gid : www-data uid: web gid: web print: ---------------- Запущен uWSGI ----------------