История изменений
Исправление 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