uwsgi——基础配置

启动uwsgi

启动uwsgi有两种方式,一是命令行方式,另一种是配置文件方式,下面分别介绍。

命令行

将应用部署在9090端口,其中start.py是启动脚本

uwsgi --http :9090 --wsgi-file start.py

并发

默认启动,uwsgi启动一个进程和一个线程。
使用--processes 参数指定进程数量。
使用--threads 参数指定线程数量。
进程和线程数量可以同时指定。

uwsgi --http :9090 --wsgi-file start.py --master --processes 4 --threads 2

关于Python中的线程:
如果在不设置线程的情况下启动uwsgi,那么python GIL将不会启动,所以应用不会运行。
这么做的原因是uwsgi是一个通用服务器,还需要考虑到其他语言特性。
而python GIL是python特性,所以需要注意。

监控

在生产部署时,stats子系统允许将uwsgi的内部统计数据作为JSON导出。

uwsgi --http :9090 --wsgi-file start.py --master --processes 4 --threads 2 --stats 127.0.0.1:9090

可用性

当所有的worker进程都被占用了(请求阻塞),而应用无法接受更多的请求了。
为了避免这个问题,可以设置一个“harakiri”定时器。
harakiri是一个监控器,由uwsgi master进程管理,会摧毁卡住超过指定秒数的进程。
例如在配置文件中加一行:
harakiri = 30

此外,在1.9版本以后,stats服务器导出了全部请求变量。
因此,你可以看到你的实例正在做什么。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容