2015-07-10 13 views
11

Sto provando a eseguire un'applicazione Django usando uwsgi. La maggior parte delle istruzioni che ho trovato si riferiscono a "--wsgi-file" e "--module" per specificare l'applicazione, ma "uwsgi" non fa menzione di queste opzioni e quando provo ad usarle:opzioni uwsgi --wsgi-file e --module non riconosciuto

uwsgi -s /tmp/uwsgi.sock --master --module myapp.wsgi 
uwsgi: unrecognized option '--module' 
getopt_long() error 

E

uwsgi -s /tmp/uwsgi.sock --master --wsgi-file myapp/wsgi.py 
uwsgi: unrecognized option '--wsgi-file' 
getopt_long() error 

quando l'eseguo senza né, ottengo:

uwsgi -s /tmp/uwsgi.sock --master 
*** Starting uWSGI 2.0.9 (64bit) on [Fri Jul 10 11:12:04 2015] *** 
compiled with version: 4.4.7 20120313 (Red Hat 4.4.7-11) on 23 April 2015 19:31:15 
os: Linux-2.6.32-504.16.2.el6.x86_64 #1 SMP Tue Mar 10 17:01:00 EDT 2015 
machine: x86_64 
clock source: unix 
pcre jit disabled 
detected number of CPU cores: 2 
detected binary path: /usr/sbin/uwsgi 
your processes number limit is 1024 
your memory page size is 4096 bytes 
detected max file descriptor number: 1024 
lock engine: pthread robust mutexes 
thunder lock: disabled (you can enable it with --thunder-lock) 
uwsgi socket 0 bound to UNIX address /tmp/uwsgi.sock fd 5 
your server socket listen backlog is limited to 100 connections 
your mercy for graceful operations on workers is 60 seconds 
mapped 145536 bytes (142 KB) for 1 cores 
*** Operational MODE: single process *** 
*** no app loaded. going in full dynamic mode *** 
*** uWSGI is running in multiple interpreter mode *** 
spawned uWSGI master process (pid: 26597) 
spawned uWSGI worker 1 (pid: 26598, cores: 1) 

Perché non sono queste opzioni riconosciute? Come dovrei specificare l'app da caricare? Che tipo di software spazzatura è questo? Dovrei tornare a usare Gunicorn?

+0

Come hai installato uwsgi? pip? – ThrowsException

+0

@ aaa90210 Mi sono trovato qui perché ho avuto la reazione esasperante come hai fatto tu. LoL La maggior parte delle opzioni non ha funzionato, nonostante abbia visto innumerevoli esempi online. Grazie per questo post. –

risposta

25

Ciò significa che il plugin pitone per uWSGI non è installato o caricato. Per verificare run:

$ uwsgi --plugins-list 

In generale, se si dispone di build-essential python-dev, ecc, è possibile installare tramite:

$ pip install uwsgi 

Su Debian o Ubuntu è anche possibile installarlo via:

$ apt-get install uwsgi-plugin-python 

Su Linux Alpine attualmente si dispone di specificare dove si trova:

$ apk add --update uwsgi-python 
$ uwsgi --plugins-dir /usr/lib/uwsgi/ --need-plugin python --plugins-list 
*** uWSGI loaded generic plugins *** 

*** uWSGI loaded request plugins *** 
0: python 
... 

In alternativa è possibile specificare il percorso completo attraverso:

$ uwsgi --plugin /usr/lib/uwsgi/python_plugin.so --plugins-list 
+0

Ancora non funziona per me. Dopo aver installato 'uwsgi-plugin-python' e' uwsgi-plugin-python3' eseguendo 'uwsgi --http-socket: 9090 --wsgi-file ./respond.py --plugin/usr/lib/uwsgi/plugins/python3_plugin.so' continua a ricevere la risposta "opzione non riconosciuta". – Shadur

2

A seconda di come è stato installato uwsgi potrebbe anche essere necessario installare il plugin python. per esempio.

apt-get install uwsgi-plugin-python