web-dev-qa-db-fra.com

nginx + uwsgi: - modificateur indisponible demandé: 0 -

Ubuntu 12.04, nginx 1.2.0, uwsgi 1.0.3.

Je démarre uwsgi avec la commande suivante:

uwsgi -s 127.0.0.1:9010 -M -t 30 -A 4 -p 4 -d /var/log/uwsgi.log

À chaque demande, nginx répond avec 502 et uwsgi écrit pour enregistrer la ligne suivante:

-- unavailable modifier requested: 0 --
76
Lisio

Réponse originale

Pour Python 2 sur Ubuntu 11.10, en utilisant upstart, installez le plugin python pour uWSGI avec apt-get install uwsgi-plugin-python et si vous utilisez un fichier ini pour configurer votre application uWSGI, ajoutez plugins = python au [uwsgi] section et il devrait résoudre ce problème.

Edit: mis à jour pour Python 3 et Ubuntu 17.10

Pour Python 3 sur Ubuntu 17.10, en utilisant systemd, installez le plug-in python pour uWSGI avec apt-get install uwsgi-plugin-python3 et si vous utilisez un fichier ini pour configurer votre application uWSGI, ajoutez plugins = python au [uwsgi] section et il devrait résoudre ce problème.

Pour plus d'informations sur la mise en route des applications python/uWSGI, notamment sur la façon de les configurer à l'aide d'un fichier ini, veuillez consulter ce guide pratique guide

102
SHaKie

Résolu en installant uwsgi-plugin-python3 plugin et ajout de --plugin python3 option pour uwsgi commande de démarrage

22
Lisio

Je démarre uwsgi à partir du début sur Ubuntu. J'ai résolu le problème en exécutant apt-get install uwsgi-plugin-python, puis en ajoutant plugins=python à mon application.ini dans/etc/uwsgi/applications-available.

15
shane

from http://uwsgi-docs.readthedocs.org/en/latest/ThingsToKnow.html , "Pour acheminer les requêtes vers un plugin spécifique, le serveur Web doit transmettre un nombre magique appelé modificateur à les instances uWSGI. Par défaut, ce nombre est défini sur 0, qui est mappé sur Python. "

J'utilise 9 pour un script bash et ça marche. les nombres et leur signification sont sur cette page: http://uwsgi-docs.readthedocs.org/en/latest/Protocol.html

dans ma configuration nginx:

location ~ .cgi$ {
    include uwsgi_params;
    uwsgi_modifier1 9;
    uwsgi_pass 127.0.0.1:3031;
}
6
jcomeau_ictx