uwsgi: option is ambiguous: http

2018年11月25日 15:08

 
 
从官网上下载的uwsgi包含所有的插件。其它来源的uwsgi可能被人改过了。例如,为了减小体积,会删除uwsgi不必要的插件。
 

环境

 
alpine中运行uwsgi
 
 

示例:启动uwsgi提供http访问接口,出现错误

 
#报错的原因就是这个uwsgi没有http插件
~ # uwsgi --http :9090  --plugins http,python3
[uWSGI] getting INI configuration from /app/uwsgi.ini
uwsgi: option is ambiguous: http
getopt_long() error
 

看看官网下载的uwsgi

 
 

解决办法

 
#查找
/app # apk search uwsgi |grep http
uwsgi-router_http-2.0.17-r0
uwsgi-http-2.0.17-r0

#安装
apk add uwsgi-http   uwsgi-router_http
 

来源

 
 

Tags: uwsgi docker
评论(1) 阅读(3059)

invalid request block size: 21573 (max 4096)...skip错误原因

2014年3月19日 11:21

有如下测试代码
  • test.py
#!/usr/bin/python

def application(env, start_response):
    start_response('200 OK', [('Content_Type', 'text/html')])
    return "Congraduation!!! uWSGI Testing OK!!!"
  • 以uwsgi方式启动
uwsgi -s :8080 --wsgi-file test.py -M -p 20
  • 访问
在浏览器输入http://0.0.0.0:8080/ 浏览器提示"未收到数据",后台出现错误提示
invalid request block size: 21573 (max 4096)...skip
  • 错误原因
usgi参数-s表示以socket方式提供通信端口,默认的协议是tcp.
通过浏览器访问使用的协议是http.
  • 正确方式
* 直接提供http服务
uwsgi --http :8080 --wsgi-file test.py -M -p 20
 
* ngix+uwsgi
通过nginx访问uwsgi,uwsgi则可使用以下方式启动
uwsgi -s :8080 --wsgi-file test.py -M -p 20
 

Tags: uWSGI
评论(2) 阅读(12959)