parent
197488137f
commit
2843b498cd
48
uWSGI.md
48
uWSGI.md
|
@ -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
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue