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 --
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
Résolu en installant uwsgi-plugin-python3
plugin et ajout de --plugin python3
option pour uwsgi
commande de démarrage
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.
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;
}