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

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

Пример конфигурационных файлов uwsgi для запуска в режиме emperor


Метки: uwsgi python rsyslog логирование nginx 

Ответы

RemiZOffAlex  Создано: 2019-03-31 23:51:19.439059  Обновлено: 2019-03-31 23:51:19.439059

/etc/uwsgi/conf.ini

[uwsgi]
emperor = /etc/uwsgi/conf.d

# emperor-tyrant = true
master = true

uid = root
gid = root
pidfile = /run/uwsgi/uwsgi.pid

# cap = setgid,setuid

log-date = %%Y-%%m-%%d %%H:%%M:%%S
log-zero = false
log-slow = slow.log

logto = /var/log/uwsgi/uwsgi.log
vassals-inherit = /etc/uwsgi/vassal-default.ini

/etc/uwsgi/vassal-default.ini

[uwsgi]
autoload = true

workers = 2
no-orphans = true

pidfile = /run/uwsgi/%N.pid
socket = /run/uwsgi/%N.sock
#chown-socket = nginx:nginx
chmod-socket = 666

# logto = /var/log/uwsgi/%N.log
log-date = true

/etc/uwsgi/conf.d/myapp.ini

[uwsgi]
vassal_name = myapp
chdir = /home/USERNAME/www/myapp
logto = /home/USERNAME/logs/myapp.log

wsgi-file = /home/USERNAME/www/myapp/wsgi.py
py-autoreload = 10

uid = USERNAME
gid = GROUPNAME

CentOS 7

/etc/systemd/system/emperor.uwsgi.service

[Unit]
Description=uWSGI Emperor
After=network.target syslog.target

[Service]
ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi/conf.ini
ExecStop=/usr/sbin/uwsgi --stop /run/uwsgi/uwsgi.pid
ExecReload=/usr/sbin/uwsgi --reload /run/uwsgi/uwsgi.pid
Restart=always
KillSignal=SIGQUIT
Type=notify
User=root
Group=root
StandardError=syslog
NotifyAccess=all

[Install]
WantedBy=multi-user.target

/etc/tmpfiles.d/uwsgi.conf

d /var/run/uwsgi 0777 root root -
d /var/log/uwsgi 0755 root root -

Запуск

systemd-tmpfiles --create
systemctl enable emperor.uwsgi.service

Ротация логов

/etc/logrotate.d/uwsgi

/var/log/uwsgi/*.log{
    maxsize 1M
    copytruncate
    daily
    rotate 5
    compress
    delaycompress
    missingok
    notifempty
}

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