Estoy tratando de configurar un servidor web con nginx , uwsgi y django . nginx funciona y sirve los archivos en /srv tal como pretendía. Sin embargo, no puedo hacer que uwsgi funcione correctamente. Mi mayor problema es que usé este tutorial y parece que no usan la versión de uwsgi que yo uso.
En un momento llaman a uwsgi --http :8000 --wsgi-file test.py , pero mi uwsgi no tiene ni la opción --http long, ni la opción --wsgi-file long. uwsgi --version imprime 2.0.7-debian .
¿Qué puedo llamar en lugar de --wsgi-file ?
ACTUALIZAR:
Esto funciona bien, es decir, puedo ver mi sitio web en localhost en el puerto 8000:
python3 manage.py runserver 0.0.0.0:8000Sin embargo, esto no:
uwsgi --http :8000 --module django_test.wsgi Se quejará de que no conoce la opción larga --http la opción larga --module . Todo parece reducirse a uwsgi, que en mi máquina simplemente no se comporta como lo hace en cualquier otro lugar.
uWSGI instalado desde los paquetes de Debian no tiene complementos incorporados, y para que esos parámetros funcionen, necesitará:
--http--module (o cualquier otro relacionado con wsgi) Puede solucionar esto de 2 maneras: instalando todos los complementos necesarios ( uwsgi-plugins-all instalará todos los complementos disponibles en Debian) y cargándolos explícitamente ( --plugin http y --plugin python ) o reemplazando uWSGI por uno con todas las funciones ( sudo pip install uwsgi hará eso). La segunda solución vinculará su uWSGI a cierta versión de python, para la primera, simplemente puede cargar otro complemento de python ( python3 por ejemplo).