run - Opciones de uwsgi--wsgi-file y--module no reconocidos
uwsgi-- module (2)
Dependiendo de cómo instaló uwsgi también es posible que también deba instalar el complemento de python. p.ej
apt-get install uwsgi-plugin-python
Estoy tratando de ejecutar una aplicación Django usando uwsgi. La mayoría de las instrucciones que he encontrado se refieren a "--wsgi-file" y "--module" para especificar la aplicación, pero "uwsgi" no hace mención de estas opciones, y cuando intento usarlas:
uwsgi -s /tmp/uwsgi.sock --master --module myapp.wsgi
uwsgi: unrecognized option ''--module''
getopt_long() error
Y
uwsgi -s /tmp/uwsgi.sock --master --wsgi-file myapp/wsgi.py
uwsgi: unrecognized option ''--wsgi-file''
getopt_long() error
Cuando lo ejecuto sin ninguno de los dos, me sale:
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)
¿Por qué no se reconocen estas opciones? ¿Cómo se supone que debo especificar la aplicación para cargar? ¿Qué tipo de software de basura es este? ¿Debo volver a usar Gunicorn?
Esto significa que el complemento de python para uWSGI no está instalado o cargado. Para verificar la ejecución:
$ uwsgi --plugins-list
En general, si tiene build-essential python-dev etc., puede instalarlo a través de:
$ pip install uwsgi
En Debian o Ubuntu también puedes instalarlo a través de:
$ apt-get install uwsgi-plugin-python
En Linux Alpine , actualmente tiene que especificar dónde está:
$ 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
...
Alternativamente, puede especificar su ruta completa a través de:
$ uwsgi --plugin /usr/lib/uwsgi/python_plugin.so --plugins-list