emperor - uwsgi vs gunicorn
uwsgi tamaño de bloque de solicitud no válida (5)
Este error se muestra cuando el servidor uWSGI está usando el protocolo uwsgi
y uno intenta acceder a él a través del protocolo http
mediante curl
o navegador web directamente. Si puede, intente configurar su servidor uWSGI para usar el protocolo http
, para que pueda acceder a él a través del navegador web o curl.
En caso de que no pueda (o no desee) cambiarlo, puede usar un proxy inverso (por ejemplo, nginx
) frente al servidor uWSGI local o remoto, consulte http://uwsgi-docs.readthedocs.org/en/latest/Nginx.html
Si se siente como demasiado trabajo, pruebe el paquete de python uwsgi-tools
:
$ pip install uwsgi-tools
$ uwsgi_curl 10.0.0.1:3030
También hay un servidor proxy inverso simple uwsgi_proxy
si necesita acceder a su (s) aplicación (es) a través del navegador web, etc. Consulte la respuesta más detallada https://stackoverflow.com/a/32893520/179581
Estoy ejecutando uwsgi en modo emperador
uwsgi --emperor /path/to/vassals/ --buffer-size=32768
y obteniendo este error
invalid request block size: 21327 (max 4096)...skip
¿¿Qué hacer?? También probé -b 32768
La solución correcta es no cambiar al protocolo HTTP. Solo necesita aumentar el tamaño del búfer en la configuración de uWSGI.
buffer-size=32768
o en el modo de línea de comando:
-b 32768
Me encontré con el mismo problema tratando de ejecutarlo bajo nginx y estaba siguiendo los documentos here . Es importante tener en cuenta que, una vez que cambie a nginx, debe asegurarse de no estar intentando acceder a la aplicación en el puerto especificado por --socket param, sino más bien al puerto "listen" en nginx.conf. Aunque su problema se describe de manera diferente, el título coincide exactamente con el problema que tuve.
Podría arreglarlo agregando --protocol = http al uwsgi
Yo también encontré el mismo problema mientras seguía un tutorial. El problema fue que configuré la opción socket = 0.0.0.0:8000
lugar de http = 0.0.0.0:8000
. opción de socket
destinada a ser utilizada con un enrutador de terceros (nginx por ejemplo), mientras que cuando se configura la opción http
uwsgi puede aceptar solicitudes HTTP entrantes y enrutarlas por sí mismo.