2012-08-30 22 views
13

Ho seguito le istruzioni in https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/ e funzionava bene fino a pochi giorni fa, quando ho ucciso i processi uwsgi e ho provato a riavviare di nuovo. Poi ha dettouwsgi: opzione non riconosciuta '--module = MyProject.wsgi: application'

uwsgi: unrecognized option '--module=MyProject.wsgi:application' 

ho sbattere la testa cercando di risolvere il problema, ... ho controllato il mio impegno la storia e lo script che uso per iniziare uwsgi non è cambiato:

#!/bin/bash 
# https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/ 
uwsgi --chdir=/home/MyProject \ 
    --module=MyProject.wsgi:application \ 
    --env DJANGO_SETTINGS_MODULE=MyProject.settings \ 
    --master --pidfile=/tmp/MyProject-masted.pid \ 
    --socket=/home/MyProject.sock \ 
    --processes=5 \ 
    --harakiri=20 \ 
    --limit-as=128 \ 
    --max-requests=5000 \ 
    --vacuum \ 
    --home=/home/MyProject/env \ 
    --daemonize=/var/log/uwsgi/MyProject.log 

Ovviamente qualcosa deve essere cambiato ma non riesco a vedere cosa ... Non ho eseguito alcun aggiornamento, la sceneggiatura non è cambiata ... PlEaSe HeLp !!!

risposta

14

Mi sono imbattuto in questo recentemente quando ho provato a utilizzare la versione di uWSGI nel repository Unbuntu 12.04 (1.0.3). Sembra che la versione sia un po 'vecchia. Basta usare pip per afferrarlo (1.2.5).

pip install uwsgi 
+0

Ouuf! Grazie mille amico! – sebpiq

+0

Se vuoi attaccare alla versione Ubuntu di uwsgi, leggi la seconda risposta! –

+0

L'installazione della versione pip ucciderà "sudo service uwsgi start/stop", ma smetterà anche di leggere da/etc/uwsgi .... Quindi prima di farlo leggi la risposta sotto. –

33

probabilmente è necessario aggiungere l'opzione --plugins alla riga di comando per utilizzare il sistema installato uwsgi. Su Fedora 17, per lo meno, questo è neccesary per me:

$ uwsgi --http 127.0.0.1:8000 --module=wsgiref.simple_server:demo_app 
uwsgi: unrecognized option '--module=wsgiref.simple_server:demo_app' 
getopt_long() error 
$ 

ma questo funziona:

$ uwsgi --http 127.0.0.1:8000 --plugins python --module=wsgiref.simple_server:demo_app 
*** Starting uWSGI 1.2.4 (64bit) on [Thu Aug 30 14:09:57 2012] *** 
[.. snip]
+1

Ho trovato che l'ordine dei parametri è importante. Se provo a passare il parametro --wsgi-file prima di passare a --plugins python, non sembra funzionare. Ricevo un messaggio che dice "Parametro non classificato". –

Problemi correlati