IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Serveurs (Apache, IIS,...) Discussion :

[nginx et flask] Erreur "502 Bad Gateway" à cause d'un subprocess


Sujet :

Serveurs (Apache, IIS,...)

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 2
    Par défaut [nginx et flask] Erreur "502 Bad Gateway" à cause d'un subprocess
    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 :

    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/*;
    }
    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
    [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é :
    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
    Je n'arrive pas à identifier les causes de ce bug, mais ça ressemble à un problème de permissions...

    Merci d'avance pour votre aide !

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 2
    Par défaut
    Résolu : la commande "pdflatex" était introuvable dans l'environnement virtuel, il fallait donc préciser l'emplacement exact de l'exécutable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    subprocess.call('/usr/bin/pdflatex fichier.tex')
    au lieu de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    subprocess.call('pdflatex fichier.tex')

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Erreur 502 Bad Gateway avec une requête mysql
    Par xspray dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 04/01/2019, 16h58
  2. Failed to load resource: the server responded with a status of 502 (Bad Gateway)
    Par MagNess76 dans le forum SIG : Système d'information Géographique
    Réponses: 0
    Dernier message: 14/09/2017, 14h22
  3. ERREUR 502 Bad Gateway
    Par syrine01 dans le forum Serveurs (Apache, IIS,...)
    Réponses: 0
    Dernier message: 11/02/2016, 12h32
  4. 502 Bad Gateway IIS 7
    Par gobelet dans le forum C#
    Réponses: 4
    Dernier message: 15/10/2012, 12h34
  5. Erreur : Bad Gateway
    Par Pat028 dans le forum Apache
    Réponses: 2
    Dernier message: 10/08/2009, 13h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo