SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы

Список вопросов Печать

Как настроить связку nginx+gunicorn+supervisor?


Метки: nginx gunicorn supervisor systemctl tmpfiles.d systemd 

Ответы

RemiZOffAlex  Создано: 2020-11-03 02:44:14.966287  Обновлено: 2022-01-26 04:13:25.120788

Установка

dnf install nginx
pip install supervisor gunicorn

Настройка

Nginx

Файл /etc/nginx/conf.d/specialistoff.net.conf

...
location / { include proxy_params; proxy_pass http://unix:/run/gunicorn/specialistoff.net.sock; }
...

Supervisor

Файл /etc/supervisor/supervisor.conf

supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl http://127.0.0.1:9001

[inet_http_server]
port = 0.0.0.0:9001

[include]
files = /etc/supervisor/conf.d/*.conf

Файл /etc/supervisor/conf.d/specialistoff.conf

[program:specialistoff.net]
command = /usr/local/bin/gunicorn specialistoff:app -c /home/www/specialistoff.net/gunicorn/settings.py
directory = /home/www/specialistoff.net
user = www
autostart=true

Файл /etc/systemd/system/supervisor.service

[Unit]
Description=Supervisor
Documentation=http://supervisord.org
After=network.target

[Service]
ExecStart=/usr/local/bin/supervisord -c /etc/supervisor/supervisor.conf
ExecStop=/usr/local/bin/supervisorctl shutdown
ExecReload=/usr/local/bin/supervisorctl reload
Restart=always
KillSignal=SIGQUIT
Type=forking
User=root
Group=root
StandardError=syslog
NotifyAccess=all

[Install]
WantedBy=multi-user.target

Gunicorn

Файл /etc/tmpfiles.d/gunicorn.conf

d /run/gunicorn 0755 www www -
d /var/log/gunicorn 0755 www www -

Запуск

systemd-tmpfiles --create
systemctl enable supervisor nginx
systemctl start supervisor nginx

Возможно будут интересны и другие вопросы