LINUX.ORG.RU

История изменений

Исправление Difrex, (текущая версия) :

Приведи все к подобному виду(в соотвествии со своими настройками):

Конфиг приложения

[uwsgi]
chdir = /var/lib/myapp
wsgi-file = /var/lib/myapp/app
callable = app

plugin = python

master = true
processes = 3

uid = myuser
gid = mygrp
socket = /run/uwsgi/myapp.socket
chown-socket = nginx:nginx
chmod-socket = 660
vacuum = true

/etc/systemd/system/myapp.socket

[Socket]
ListenStream=/run/uwsgi/myapp.socket
User=myuser

[Install]
WantedBy=sockets.target

/etc/systemd/system/myapp.service

[Unit]
Description=MyAPP
After=netwok.target

[Service]
Type=simple
ExecStart=/sbin/uwsgi --ini /etc/uwsgi/sites/myapp.ini
WorkingDirectory=/var/lib/myapp
KillSignal=SIGQUIT
User=myuser
MemoryLimit=512M
Restart=always

[Install]
WantedBy=multi-user.target

Затем сделай systemctl daemon-reload && systemctl enable myapp.socket

Если хочешь пускать все скопом, то сделай юнит для emperor. Судя по всему в убунте поставляется sysv скрипт, который не работает, лол.

cat /usr/lib/systemd/system/uwsgi.service 
[Unit]
Description=uWSGI Emperor Service
After=syslog.target

[Service]
EnvironmentFile=-/etc/sysconfig/uwsgi
ExecStartPre=/bin/mkdir -p /run/uwsgi
ExecStartPre=/bin/chown uwsgi:uwsgi /run/uwsgi
ExecStart=/usr/sbin/uwsgi --ini /etc/uwsgi.ini
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=SIGINT
Restart=always
Type=notify
StandardError=syslog
NotifyAccess=all

[Install]
WantedBy=multi-user.target

Исправление Difrex, :

Приведи все к подобному виду(в соотвествии со своими настройками):

Конфиг приложения

[uwsgi]
chdir = /var/lib/myapp
wsgi-file = /var/lib/myapp/app
callable = app

plugin = python

master = true
processes = 3

uid = myuser
gid = mygrp
socket = /run/uwsgi/myapp.socket
chown-socket = nginx:nginx
chmod-socket = 660
vacuum = true

/etc/systemd/system/myapp.socket

[Socket]
ListenStream=/run/uwsgi/myapp.socket
User=myuser

[Install]
WantedBy=sockets.target

/etc/systemd/system/myapp.service

[Unit]
Description=MyAPP
After=netwok.target

[Service]
Type=simple
ExecStart=/sbin/uwsgi --ini /etc/uwsgi/sites/myapp.ini
WorkingDirectory=/var/lib/myapp
KillSignal=SIGQUIT
User=myuser
MemoryLimit=512M
Restart=always

[Install]
WantedBy=multi-user.target

Затем сделай systemctl daemon-reload && systemctl enable myapp.socket

Если хочешь пускать все скопом, то сделай юнит для emperor. Судя по всему в убунте поставляется sysv скрипт, который не работает, лол.

Исходная версия Difrex, :

Приведи все к подобному виду(в соотвествии со своими настройками):

Конфиг приложения

[uwsgi]
chdir = /var/lib/myapp
wsgi-file = /var/lib/myapp/app
callable = app

plugin = python

master = true
processes = 3

uid = myuser
gid = mygrp
socket = /run/uwsgi/myapp.socket
chown-socket = nginx:nginx
chmod-socket = 660
vacuum = true

/etc/systemd/system/myapp.socket

[Socket]
ListenStream=/run/uwsgi/myapp.socket
User=myuser

[Install]
WantedBy=sockets.target

/etc/systemd/system/myapp.service

[Unit]
Description=MyAPP
After=netwok.target

[Service]
Type=simple
ExecStart=/sbin/uwsgi --ini /etc/uwsgi/sites/myapp.ini
WorkingDirectory=/var/lib/myapp
KillSignal=SIGQUIT
User=myuser
MemoryLimit=512M
Restart=always

[Install]
WantedBy=multi-user.target

Затем сделай systemctl daemon-reload && systemctl enable myapp.socket