uWSGI
Configuration
Les fichiers de configuration sont /etc/uwsgi/pc.ini
pour la prod et /etc/uwsgi/pc-dev.ini
pour la dev.
Les sockets doivent pointer vers /run/uwsgi.<nom>/socket
, avec l'utilisateur et le groupe correspondant à <nom>
,
et les droits en 770 (le groupe est important pour que l'utilisateur http
(Nginx) puisse y accéder).
Exemple pour la prod :
[uwsgi]
uid = pc
gid = pc
socket = /run/uwsgi.pc/socket
chmod-socket = 770
manage-script-name = true
mount = /=app:app
master = true
plugins = python
SystemD
Le service de base fourni par le paquet uwsgi ne correspond pas à nos besoins. Il faut donc le modifier ainsi :
systemctl edit --full uwsgi@.service
[Unit]
Description=uWSGI service unit
After=syslog.target
[Service]
ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi/%i.ini
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -INT $MAINPID
Restart=always
Type=notify
StandardError=syslog
NotifyAccess=all
KillSignal=SIGQUIT
WorkingDirectory=/home/%i/www/
[Install]
WantedBy=multi-user.target
VPS
Sur le VPS, les services sont nommés respectivement uwsgi@pc
et uwsgi@pc-dev