报错解决——uwsgi错误invalid request block size

时间:2023-03-09 19:50:01
报错解决——uwsgi错误invalid request block size

uwsgi错误invalid request block size

  使用uwsgi启动django代码,然后打开浏览器输入http://localhost:8000/admin。后台出现下面错误

invalid request block size:  (max )...skip

原因

  用nginx来把请求发送给uwsgi。uwsgi被配置成使用socket方式(为tcp协议)进行通信。如果打开浏览器访问uwsgi指定的端口,那么浏览器请求uwsgi的方式为http协议,而不是socket方式。所以就导致uwsgi的log文件中打出上面的错误信息。

解决方法

  • 如果你想临时使用http访问uwsgi服务。那么需要把之前的uwsgi服务停止,并使用下面命令来启动
uwsgi --http : --wsgi-file application.py
  • 如果是使用uwsgi.ini配置文件,那么修改里面内容把socket=:8000替换成http=:8000。 然后再次启动
uwsgi --ini /patch/to/uwsgi.ini

注意:以上两种方式启动不能混用,例如使用uwsgi --http :8000 --ini /path/to/uwsgi.ini会造成端口已经被占用的错误:

uWSGI http bound on : fd
probably another instance of uWSGI is running on the same address (:).
bind(): Address already in use [core/socket.c line ]