当前位置: 首页 > article >正文

WSGI、uwsgi与uWSGI

WSGI、uwsgi与uWSGI

  • WSGI (web server gateway interface 网络服务网关接口) 只能用于python,是一个接口标准协议,django、flask自带有
  • uwsgi 是WSGI的通信协议
  • uWSGI是实现了uwsgi协议和WSGI服务的web服务器

他们是为了将web服务器与web框架连接起来

Nginx、uWSGI 与 Python后端框架

关系图

数据交换流程图

每个服务处理自己擅长的事情:

  • Nginx:负载均衡,静态资源(css,img,html)直接返回,动态资源反向代理到upstream(uwsgi_pass,fascgi_pass,proxy_pass)

  • uWSGI:数据交换桥梁

  • Python后端框架:业务逻辑

uwsgi

安装

pip install uwsgi

配置

[uwsgi]
# 设置0.0.0.0表示可以接收不同服务器的nginx发送过来的请求,127.0.0.1表示只接收同一服务器发送过来的请求,8000为应用内的监听端口
socket = 0.0.0.0:8000 

# http = 0.0.0.0:8000 # http为直接作为web服务器启动
# http = :5000#启动程序时所使用的地址和端口,通常在本地运行f1ask项目

# 项目目录
chdir = /home/flaskproiect/   

# flask程序的启动文件,通常在本地是通过运行 python manage.py runserver 来启动项目的
wsgi-file = manage.py

# 程序内启用的application变量名
callable = app

# 处理器个数,进程个数
processes = 4

# 线程个数
threads =2

#获取uwsgi统计信息的服务地址
stats =127.0.0.1:9191

# 保存pid信息,方便停止服务和重启的时候用
pidfile = uwsgi.pid

# 后台运行时记录uwsgi的运行日志
daemonize=./1og/uwsgi.log

# 当需要连接cassandra时,uwsgi无法启动服务,可以使用该选项设置
lazy-apps = true

# 使用chain-reloading 逐个work重启,服务不中断,命令是 echoc > mfifo 
master-fifo = /opt/mt-search/web-service/mfifo
touch-chain-reload =true

http://www.kler.cn/a/373666.html

相关文章:

  • 学Linux的第六天
  • 【万户软件-注册安全分析报告-无验证方式导致安全隐患】
  • Zookeeper 对于 Kafka 的作用是什么?
  • Unreal Engine 5 C++(C#)开发:使用蓝图库实现插件(一)认识和了解Build.cs
  • 【数据结构】-数组
  • 玄机-应急响应- Linux入侵排查
  • 【深度学习】用LSTM写诗,生成式的方式写诗系列之一
  • 下一代「自动化测试框架」WebdriverIO
  • STM32--STM32 微控制器详解
  • unity3d————Mathf.Lerp() 函数详解
  • 从0开始深度学习(21)——读写数据和GPU
  • 【Nas】X-DOC:Mac mini 安装 ZeroTier 并替换 planet 实现内网穿透
  • 人工智能中的机器学习和模型评价
  • RNN在训练中存在的问题
  • 常见的机器学习模型汇总
  • C++ 复习记录(个人记录)
  • 基于Multisim的四位抢答器设计与仿真
  • 数据结构,问题 A: 翻转字符串
  • 野火鲁班猫4 (RK3588)系统配置
  • Mybatis 统计sql运行时间
  • 嵌入式linux跨平台基于mongoose的TCP C++类的源码
  • 如何在macOS开发中给 PKG 签名和公证(productsign+notarytool)
  • Vue中path和component属性
  • JAVA基础练习题
  • 攻防世界 MISC miao~详解
  • 无人机测绘遥感技术算法概述!