WARNING: не работает uwsgi (поменялись форматы конфигов) и пришлось запустить как proxy

This commit is contained in:
e-serg 2024-04-15 06:35:32 +03:00
parent 6f1d997adc
commit f9c3dd3323
2 changed files with 77 additions and 7 deletions

View File

@ -5,11 +5,11 @@
# Для каждого сайта надо настроить свой поток, со своим уникальным именем. # Для каждого сайта надо настроить свой поток, со своим уникальным именем.
# Если будете настраивать несколько python (django) сайтов - измените название upstream # Если будете настраивать несколько python (django) сайтов - измените название upstream
upstream clone-pets { upstream pet-clone {
# расположение файла Unix-сокет для взаимодействие с uwsgi # расположение файла Unix-сокет для взаимодействие с uwsgi
server unix:///home//home/web/clone.cocorico.ru/socket/clone-pets.sock; server unix:///home/web/clone.cocorico.ru/socket/clone_pets.sock;
# также можно использовать веб-сокет (порт) для взаимодействие с uwsgi. Но это медленнее # также можно использовать веб-сокет (порт) для взаимодействие с uwsgi. Но это медленнее
# server 127.0.0.1:8001; # для взаимодействия с uwsgi через веб-порт 8001 # server 127.0.0.1:8021; # для взаимодействия с uwsgi через веб-порт 8021
} }
# конфигурируем сервер # конфигурируем сервер
@ -58,10 +58,16 @@ server {
} }
location / { location / {
uwsgi_pass clone-pets; # upstream обрабатывающий обращений # uwsgi_pass pet-clone; # upstream обрабатывающий обращений
include uwsgi_params; # конфигурационный файл uwsgi; # # uwsgi_pass 127.0.0.1:8001; # upstream обрабатывающий обращений
uwsgi_read_timeout 1800; # вдруг некоторые запросы очень долго обрабатываются? # include uwsgi_params; # конфигурационный файл uwsgi;
uwsgi_send_timeout 200; # на всякий случай время записи в сокет тоже побольше... # uwsgi_read_timeout 1800; # вдруг некоторые запросы очень долго обрабатываются?
# uwsgi_send_timeout 200; # на всякий случай время записи в сокет тоже побольше...
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
} }
} }

View File

@ -0,0 +1,64 @@
# === Конфикурационный файл 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 ----------------