关于uwsgi 相关理解及 进程服务挂掉重启问题

uwsgi 相关理解及进程服务挂掉处理

一, 原理及时理解

WSGI

wsgi server (比如uWSGI) 要和 wsgi application(比如django )交互,uwsgi需要将过来的请求转给django 处理,那么uWSGI 和 django的交互和调用就需要一个统一的规范,这个规范就是WSGI WSGI(Web Server Gateway Interface)

WSGI,全称 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口。自从 WSGI 被开发出来以后,许多其它语言中也出现了类似接口。

WSGI 的官方定义是,the Python Web Server Gateway Interface。从名字就可以看出来,这东西是一个Gateway,也就是网关。网关的作用就是在协议之间进行转换。

WSGI 是作为 Web 服务器与 Web 应用程序或应用框架之间的一种低级别的接口,以提升可移植 Web 应用开发的共同点。WSGI 是基于现存的 CGI 标准而设计的。

WSGI是Web 服务器(uWSGI)与 Web 应用程序或应用框架(Django)之间的一种低级别的接口

uWSGI

uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。

uwsgi

FastCgi协议, uwsgi协议, http协议有什么用?
nginx 和 uWSGI交互就必须使用同一个协议,而上面说了uwsgi支持fastcgi,uwsgi,http协议,这些都是nginx支持的协议,只要大家沟通好使用哪个协议,就可以正常运行了。

uwsgi是服务器和服务端应用程序的通信协议,规定了怎么把请求转发给应用程序和返回

最后整理

WSGI 一种接口,网关
uWSGI web服务器
uwsgi 服务器和服务端应用程序之间的通信协议。
参考:
django 执行 uwsgi进行自动删除进程id并进行重启 防止多个进行 导致服务器挂掉

django 执行 uwsgi进行自动删除进程id并进行重启  防止多个进行 导致服务器挂掉

最近使用django+uwsgi+虚拟机(ubuntu),每次进行uwsgi重启的时候都会增加一个进程的,导致自己的mysql无意间挂掉了,莫名其妙,结果才发现,有大量的uwsgi的进程,但是每次启动的时候都去删除,手动肯定很麻烦,于是自己就google后,写了一个自己的脚本。

脚本如下,仅供参考

#!/bin/sh
NAME=
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值