Breizh 2019-08-31 23:17:57 +02:00
parent 197488137f
commit 2843b498cd
1 changed files with 33 additions and 15 deletions

@ -3,7 +3,23 @@
## 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>`.
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 :
```ini
[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
@ -13,20 +29,22 @@ Le service de base fourni par le paquet uwsgi ne correspond pas à nos besoins.
systemctl edit --full uwsgi@.service
```
Remplacer `ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi/%I.ini` par `ExecStart=/usr/bin/uwsgi --ini /etc/uwsgi/%i.ini` (la casse du `%I`, qui pose problème par défaut).
```ini
[Unit]
Description=uWSGI service unit
After=syslog.target
```bash
systemctl edit uwsgi@.service
```
Insérer le contenu suivant :
```
[Service]
User=%i
Group=%i
RuntimeDirectory=uwsgi.%i
RuntimeDirectoryMode=755
```
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/
Cela permet de créer le répertoire contenant le socket avec les bons droits, et de lancer uwsgi en tant qu'utilisateur.
[Install]
WantedBy=multi-user.target
```