欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

<5>Python的uwsgi web服务器

程序员文章站 2022-05-17 15:40:42
一、是什么? uWSGI是web服务器,用来部署线上web应用到生产环境。uWSGI实现了WSGI协议、uwsgi协议、http协议。WSGI(Web Server Gateway Interface)是一种web服务器网关接口。它是一个web服务器与web应用通信的一种规范 WSGI是一种通信协议 ......

一、是什么?

uwsgiweb服务器,用来部署线上web应用到生产环境。uwsgi实现了wsgi协议、uwsgi协议、http协议wsgi(web server gateway interface)是一种web服务器网关接口。它是一个web服务器与web应用通信的一种规范

 wsgi是一种通信协议,不是服务器

 uwsgiweb服务器

 uwsgi协议是一种线路协议而不是通信协议,是fcgi协议的10

 uwsgi协议常用于uwsgi服务器与其他网络服务器的数据通信。

 uwsgi协议用于定义传输信息的类型。

 

二、怎么做?

uwsgi可以用命令行来运行,也可以用配置文件来运行。

命令行语法:

,命令行参数:  --<option>

 

因为在实际环境中使用配置文件来管理,所以这里只介绍用配置文件的方式.ini  .xml  .json  .yaml

官方推荐使用.ini

 

.ini语法:

key = value

# 为注释符号

true  false 为布尔值

,运行配置文件命令uwsgi my.ini  = uwsgi --ini my.ini

 

.ini可用配置参数:

# socket: 地址和端口号(需要和nginx搭配使用;http-socket是通过http协议运行[性能差])  socket = 127.0.0.1:5000

processes: 开启的进程数

chdir: 指定运行目录  before apps loading

wsgi-file: 载入wsgi-file

stats: 在指定地址上,开启状态服务

master: 允许主进程存在

daemonize: 使进程在后台运行,并将日志打印到指定的日志文件

pidfile: 指定pid文件的位置,记录进程的pid

vacuum: 当服务器退出时自动清理环境(删除unix socket文件和pid文件)

disable-logging: 不记录请求信息的日志,只记录错误以及uwsgi内部消息到日志中

 

uwsgi命令:

启动:uwsgi my.ini

重载:uwsgi --reload my.pid

重启:uwsgi --stop my.pid

 

工具:uwsgitop  配合status使用