当前位置: 首页 > 后端技术 > Python

Pythonweb程序使用uWSGI部署

时间:2023-03-25 22:02:04 Python

Pythonweb程序使用uWSGI部署什么是WSGI?WSGI,全称WebServerGatewayInterface,或PythonWebServerGatewayInterface,是为Python语言定义的Web服务器与Web应用程序或框架之间的简单通用接口。自从开发了WSGI以来,类似的接口已经出现在许多其他语言中。WSGI的官方定义是,PythonWeb服务器网关接口。从名字就可以看出来,这个东西就是一个Gateway,也就是网关。网关的作用是在协议之间进行转换。WSGI充当Web服务器和Web应用程序或应用程序框架之间的低级接口,以增强可移植Web应用程序开发的通用性。WSGI是基于现有的CGI标准设计的。很多框架都自带WSGI服务器,比如Flask、webpy、Django、CherryPy等,当然性能也不好。内置的网络服务器更多的是用于测试目的。发布时,生产环境使用WSGI服务器或者使用nginx作为uwsgi。换句话说,WSGI就像一座桥,一侧连接web服务器(如nginx),另一侧连接Python应用程序Application。但是这个桥的功能很弱,有时候需要借助其他桥来处理。uWSGIuWSGI是一个(巨大的)C应用程序,因此您需要一个C编译器(例如gcc或clang)和Python开发头文件。uWSGI是一个web服务器,实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交互。uWSGI安装环境SystemOS:CentOS-7.5_x64Python:3.6virtual:Anaconda3安装#直接在虚拟环境安装$pipinstalluwsgiuWSGIhelloworldhello_world.pydefapplication(env,start_response):start_response('200OK',[('Content-Type','text/html')])return[b"HelloWorld"]启动uwsgi--http0.0.0.0:8000--wsgi-filehello_world.py使用浏览器访问http://ip:8000启动uwsgi可以添加多个参数uwsgi--socket127.0.0.1:3031--wsgi-fileuwsgi.py--master--processes4--threads2--stats127.0.0.1:8001在配置文件uwsgi中集中写入配置文件.ini[uwsgi]socket=127.0.0.1:3031chdir=/home/foobar/myproject/pythonpath=..processes=4threads=2stats=127.0.0.1:9191