python uwsgi_Python Web 程序使用 uWSGI 部署
Python Web 程序使用 uWSGI 部署
WSGI是什么?
WSGI,全稱 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是為 Python 語(yǔ)言定義的 Web 服務(wù)器和 Web 應(yīng)用程序或框架之間的一種簡(jiǎn)單而通用的接口。自從 WSGI 被開發(fā)出來以后,許多其它語(yǔ)言中也出現(xiàn)了類似接口。
WSGI 的官方定義是,the Python Web Server Gateway Interface。從名字就可以看出來,這東西是一個(gè)Gateway,也就是網(wǎng)關(guān)。網(wǎng)關(guān)的作用就是在協(xié)議之間進(jìn)行轉(zhuǎn)換。
WSGI 是作為 Web 服務(wù)器與 Web 應(yīng)用程序或應(yīng)用框架之間的一種低級(jí)別的接口,以提升可移植 Web 應(yīng)用開發(fā)的共同點(diǎn)。WSGI 是基于現(xiàn)存的 CGI 標(biāo)準(zhǔn)而設(shè)計(jì)的。
很多框架都自帶了 WSGI server ,比如 Flask,webpy,Django、CherryPy等等。當(dāng)然性能都不好,自帶的 web server 更多的是測(cè)試用途,發(fā)布時(shí)則使用生產(chǎn)環(huán)境的 WSGI server或者是聯(lián)合 nginx 做 uwsgi 。也就是說,WSGI就像是一座橋梁,一邊連著web服務(wù)器(如 nginx),另一邊連著Python的應(yīng)用程序Application。但是呢,這個(gè)橋的功能很弱,有時(shí)候還需要?jiǎng)e的橋來幫忙才能進(jìn)行處理。
uWSGI
uWSGI 是一個(gè)(巨大的) C 應(yīng)用,所以你需要一個(gè) C 編譯器(比如 gcc 或者 clang)和 Python 開發(fā)版頭文件。
uWSGI是一個(gè)Web服務(wù)器,它實(shí)現(xiàn)了WSGI協(xié)議、uwsgi、http等協(xié)議。Nginx中HttpUwsgiModule的作用是與uWSGI服務(wù)器進(jìn)行交換。
uWSGI 安裝
環(huán)境
SystemOS: CentOS-7.5_x64
Python: 3.6
virtual: Anaconda3
安裝
# 在虛擬環(huán)境中直接安裝
$ pip install uwsgi
uWSGI hello world
hello_world.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
啟動(dòng)
uwsgi --http 0.0.0.0:8000 --wsgi-file hello_world.py
使用瀏覽器訪問http://ip:8000
啟動(dòng) uwsgi 可以添加多個(gè)參數(shù)
uwsgi --socket 127.0.0.1:3031 --wsgi-file uwsgi.py --master --processes 4 --threads 2 --stats 127.0.0.1:8001
將配置文件集中寫在配置文件中
uwsgi.ini
[uwsgi]
socket = 127.0.0.1:3031
chdir = /home/foobar/myproject/
pythonpath = ..
processes = 4
threads = 2
stats = 127.0.0.1:9191
總結(jié)
以上是生活随笔為你收集整理的python uwsgi_Python Web 程序使用 uWSGI 部署的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql setinc_数据库自增自减
- 下一篇: java反射模式_Java反射机制详解