小小疯子

导航

 

WSGI,它规定了一种在Web服务器和Web应用程序/框架之间推荐的标准接口,以确保Web应用程序在不同的Web服务器之间具有可移植性。

WSGi是一个同步接口,所有Tornado的WSGI容器是无法实现异步的。主流的选择是uWSGI和Gunicorn。Gunicorn易于配置,兼容性好,CPU消耗很少,在豆瓣使用广泛。

其中Gunicorn 常规启动命令(配置文件)

Gunicorn --workers=3 chapter6.section1.app:app -b 0.0.0.0:9000     ==>   gunicorn  -w  3  chapter6.section1.app:app  -b  :8000

chapter6.section1是模块的名字,第一个app是模块文件的名字,第二个app是文件中Flask实例的名字,Work的数量并不是越多越好。

而uWSGI的启动命令:它自带丰富的组件,其中包括核心组件包括进程管理,监控,IPC等功能,实现应用服务器接口的请求插件支持多种语言和平台,比如WSGI,Rack,Lua WSAPI,网关组件实现了负载均衡,代理和路由功能。

uwsgi --http 0.0.0.0:9000 --wsgi-file chapter6/section1/app.py --callable app --processes 4 --threads 2 --stats 0.0.0.0:5000

上面的命令表示启动了4个进程,每个进程使用2个线程,而且开启了5000Web接口,返回监控uWSGI的信息

注意:

  --http-socket和--http 其实是完全不同的两个选项。如果想直接裸跑uWSGI,应该使用--http,它产生一个额外的进程将请求转发给Workers,

如果希望它被反向代理(比如和nginx一起用),应该使用--http-socket。  

 

posted on 2018-10-02 22:32  小小疯子1  阅读(132)  评论(0编辑  收藏  举报