本篇內(nèi)容主要講解“Python uWSGI的安裝配置過(guò)程”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Python uWSGI的安裝配置過(guò)程”吧!
創(chuàng)新互聯(lián)主營(yíng)壺關(guān)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件開(kāi)發(fā),壺關(guān)h5微信小程序搭建,壺關(guān)網(wǎng)站營(yíng)銷(xiāo)推廣歡迎壺關(guān)等地區(qū)企業(yè)咨詢
以 Ubuntu/Debian 為例,先安裝依賴包:
apt-get install build-essential python-dev
Python 安裝 uWSGI
1、通過(guò) pip 命令:
pip install uwsgi
2、下載安裝 腳本:
curl http://uwsgi.it/install | bash -s default /tmp/uwsgi
將 uWSGI 二進(jìn)制安裝到 /tmp/uwsgi ,你可以修改它。
3、源代碼安裝:
wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gz tar zxvf uwsgi-latest.tar.gz cd uwsgi-latest make
安裝完成后,在當(dāng)前目錄下,你會(huì)獲得一個(gè) uwsgi 二進(jìn)制文件。
第一個(gè) WSGI 應(yīng)用
讓我們從一個(gè)簡(jiǎn)單的 "Hello World" 開(kāi)始,創(chuàng)建文件 foobar.py,代碼如下:
def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return [b"Hello World"]
uWSGI Python 加載器將會(huì)搜索的默認(rèn)函數(shù) application 。
接下來(lái)我們啟動(dòng) uWSGI 來(lái)運(yùn)行一個(gè) HTTP 服務(wù)器,將程序部署在HTTP端口 9090 上:
uwsgi --http :9090 --wsgi-file foobar.py
添加并發(fā)和監(jiān)控
默認(rèn)情況下,uWSGI 啟動(dòng)一個(gè)單一的進(jìn)程和一個(gè)單一的線程。
你可以用 --processes 選項(xiàng)添加更多的進(jìn)程,或者使用 --threads 選項(xiàng)添加更多的線程 ,也可以兩者同時(shí)使用。
uwsgi --http :9090 --wsgi-file foobar.py --master --processes 4 --threads 2
以上 命令將會(huì)生成 4 個(gè)進(jìn)程, 每個(gè)進(jìn)程有 2 個(gè)線程。
如果你要執(zhí)行監(jiān)控任務(wù),可以使用 stats 子系統(tǒng),監(jiān)控的數(shù)據(jù)格式是 JSON:
uwsgi --http :9090 --wsgi-file foobar.py --master --processes 4 --threads 2 --stats 127.0.0.1:9191
我們可以安裝 uwsgitop(類(lèi)似 Linux top 命令) 來(lái)查看監(jiān)控?cái)?shù)據(jù):
pip install uwsgitop
結(jié)合 Web 服務(wù)器使用
我們可以將 uWSGI 和 Nginx Web 服務(wù)器結(jié)合使用,實(shí)現(xiàn)更高的并發(fā)性能。
一個(gè)常用的nginx配置如下:
location / { include uwsgi_params; uwsgi_pass 127.0.0.1:3031; }
以上代碼表示使用 nginx 接收的 Web 請(qǐng)求傳遞給端口為 3031 的 uWSGI 服務(wù)來(lái)處理。
現(xiàn)在,我們可以生成 uWSGI 來(lái)本地使用 uwsgi 協(xié)議:
uwsgi --socket 127.0.0.1:3031 --wsgi-file foobar.py --master --processes 4 --threads 2 --stats 127.0.0.1:9191
如果你的 Web 服務(wù)器使用 HTTP,那么你必須告訴 uWSGI 本地使用 http 協(xié)議 (這與會(huì)自己生成一個(gè)代理的–http不同):
uwsgi --http-socket 127.0.0.1:3031 --wsgi-file foobar.py --master --processes 4 --threads 2 --stats 127.0.0.1:9191
部署 Django
Django 是最常使用的 Python web 框架,假設(shè) Django 項(xiàng)目位于 /home/foobar/myproject:
uwsgi --socket 127.0.0.1:3031 --chdir /home/foobar/myproject/ --wsgi-file myproject/wsgi.py --master --processes 4 --threads 2 --stats 127.0.0.1:9191
--chdir 用于指定項(xiàng)目路徑。
我們可以把以上的命令弄成一個(gè) yourfile.ini 配置文件:
[uwsgi] socket = 127.0.0.1:3031 chdir = /home/foobar/myproject/ wsgi-file = myproject/wsgi.py processes = 4 threads = 2 stats = 127.0.0.1:9191
接下來(lái)你只需要執(zhí)行以下命令即可:
uwsgi yourfile.ini
部署 Flask
Flask 是一個(gè)流行的 Python web 框架。
創(chuàng)建文件 myflaskapp.py ,代碼如下:
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "I am app 1"
執(zhí)行以下命令:
uwsgi --socket 127.0.0.1:3031 --wsgi-file myflaskapp.py --callable app --processes 4 --threads 2 --stats 127.0.0.1:9191
到此,相信大家對(duì)“Python uWSGI的安裝配置過(guò)程”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
分享名稱:PythonuWSGI的安裝配置過(guò)程
本文地址:http://muchs.cn/article20/jsohjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、外貿(mào)建站、App設(shè)計(jì)、全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)