Bonjour,
J'ai une application Flask "appli.py", sur laquelle j'ai récemment dû ajouter la commande suivante, pour créer fichier.pdf à partir de fichier.tex:
Code : Sélectionner tout - Visualiser dans une fenêtre à part subprocess.call('pdflatex fichier.tex',shell=True)
Tout fonctionne parfaitement quand je lance appli.py de façon autonome en mode déboguage, mais ça ne fonctionne plus lorsque je bascule l'application sur nginx : le navigateur me renvoie alors une erreur "502 Bad Gateway", et le fichier nginx/error.log mentionne l'erreur suivante : "upstream prematurely closed connection while reading response header from upstream".
Ma configuration nginx.conf est la suivante :
Mon fichier appli.service est ainsi configuré :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 events { worker_connections 768; multi_accept on; } http { limit_req_zone $binary_remote_addr zone=flood:10m rate=5r/s; limit_req zone=flood burst=30 nodelay; limit_conn_zone $binary_remote_addr zone=ddos:10m; limit_conn ddos 1; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 [Unit] Description=uWSGI instance to serve appli After=network.target [Service] User=user Group=www-data WorkingDirectory=/home/user/appli Environment="PATH=/home/user/appli/applienv/bin" ExecStart=/home/user/appli/applienv/bin/uwsgi --ini appli.ini [Install] WantedBy=multi-user.target
Enfin, mon fichier appli.ini est ainsi configuré :
Je n'arrive pas à identifier les causes de ce bug, mais ça ressemble à un problème de permissions...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 [uwsgi] module = wsgi:app master = true processes = 2 close-on-exec = true close-on-exec2 = true socket = appli.sock chmod-socket = 770 chmod = 770 vacuum = true die-on-term = true
Merci d'avance pour votre aide !
Partager