Python安裝和配置uWSGI得詳細(xì)過程

目錄

本文主要介紹如何部署簡單得 WSGI 應(yīng)用和常見得 Web 框架。

以 Ubuntu/Debian 為例,先安裝依賴包:

apt-get install build-essential python-dev

Python 安裝 uWSGI

1、通過 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.gztar zxvf uwsgi-latest.tar.gzcd uwsgi-latestmake

安裝完成后,在當(dāng)前目錄下,你會獲得一個 uwsgi 二進(jìn)制文件。

第一個 WSGI 應(yīng)用

讓我們從一個簡單得 "Hello World" 開始,創(chuàng)建文件 foobar.py,代碼如下:

def application(env, start_response):    start_response('200 OK', [('Content-Type','text/html')])    return [b"Hello World"]

uWSGI Python 加載器將會搜索得默認(rèn)函數(shù) application 。

接下來我們啟動 uWSGI 來運行一個 HTTP 服務(wù)器,將程序部署在HTTP端口 9090 上:

uwsgi --http :9090 --wsgi-file foobar.py

添加并發(fā)和監(jiān)控

默認(rèn)情況下,uWSGI 啟動一個單一得進(jìn)程和一個單一得線程。

你可以用 --processes 選項添加更多得進(jìn)程,或者使用 --threads 選項添加更多得線程 ,也可以兩者同時使用。

uwsgi --http :9090 --wsgi-file foobar.py --master --processes 4 --threads 2

以上命令將會生成 4 個進(jìn)程, 每個進(jìn)程有 2 個線程。

如果你要執(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(類似 Linux top 命令) 來查看監(jiān)控數(shù)據(jù):

pip install uwsgitop

結(jié)合 Web 服務(wù)器使用

我們可以將 uWSGI 和 Nginx Web 服務(wù)器結(jié)合使用,實現(xiàn)更高得并發(fā)性能。

一個常用得nginx配置如下:

location / {    include uwsgi_params;    uwsgi_pass 127.0.0.1:3031;}

以上代碼表示使用 nginx 接收得 Web 請求傳遞給端口為 3031 得 uWSGI 服務(wù)來處理。

現(xiàn)在,我們可以生成 uWSGI 來本地使用 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é)議 (這與會自己生成一個代理得–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 項目位于 /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 用于指定項目路徑。

我們可以把以上得命令弄成一個 yourfile.ini 配置文件:

[uwsgi]socket = 127.0.0.1:3031chdir = /home/foobar/myproject/wsgi-file = myproject/wsgi.pyprocesses = 4threads = 2stats = 127.0.0.1:9191

接下來你只需要執(zhí)行以下命令即可:

uwsgi yourfile.ini

部署 Flask

Flask 是一個流行得 Python web 框架。

創(chuàng)建文件 myflaskapp.py ,代碼如下:

from flask import Flaskapp = Flask(__name__)@app.route('/')def index():    return "<span style='color:red'>I am app 1</span>"

執(zhí)行以下命令:

uwsgi --socket 127.0.0.1:3031 --wsgi-file myflaskapp.py --callable app --processes 4 --threads 2 --stats 127.0.0.1:9191

到此這篇關(guān)于Python uWSGI 安裝配置得內(nèi)容就介紹到這了,更多相關(guān)Python uWSGI 安裝配置內(nèi)容請搜索之家以前得內(nèi)容或繼續(xù)瀏覽下面得相關(guān)內(nèi)容希望大家以后多多支持之家!

聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
發(fā)表評論
更多 網(wǎng)友評論1 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 一区二区三区91| 亚洲国产成人va在线观看| 91啦视频在线| 欧美一区二区三区久久综| 国产成人综合久久精品红| 久久看免费视频| 美国一级大黄一片免费网站| 富女玩鸭子一级毛片| 亚洲精品无码久久毛片波多野吉衣| 99久久99久久免费精品小说| 欧美国产激情二区三区| 国产成人a人亚洲精品无码| 丰满熟妇乱又伦在线无码视频| 精品久久欧美熟妇WWW| 在线观看国产精品麻豆| 亚洲五月激情综合图片区| 野花社区视频www| 妖精的尾巴国语版全集在线观看 | 精品无人区无码乱码毛片国产| 女人腿张开让男人桶爽| 亚洲国产成+人+综合| 青柠在线观看视频hd| 尤物视频在线看| 亚洲无码一区二区三区| 青青国产在线视频| 天天拍天天干天天操| 亚洲bt欧美bt精品| 美美女高清毛片视频免费观看| 在线观看一级毛片| 久久本网站受美利坚法律保护 | 精品一区二区三区av天堂| 在线综合 亚洲 欧美中文字幕| 亚洲性久久久影院| 青青国产在线播放| 奇米精品一区二区三区在| 亚洲国产综合精品中文第一区| 韩国在线观看一区二区三区| 性欧美暴力猛交xxxxx高清| 亚洲欧美自拍另类图片色| 成年美女黄网站色| 尤物精品视频一区二区三区|