欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python安裝和配置uWSGI的詳細過程

 更新時間:2022年07月28日 11:19:03   作者:智慧浩海  
這篇文章主要介紹了Python uWSGI 安裝配置,本文主要介紹如何部署簡單的 WSGI 應用和常見的 Web 框架,以 Ubuntu/Debian 為例給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

本文主要介紹如何部署簡單的 WSGI 應用和常見的 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 二進制安裝到 /tmp/uwsgi ,你可以修改它。

3、源代碼安裝:

wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gz
tar zxvf uwsgi-latest.tar.gz
cd uwsgi-latest
make

安裝完成后,在當前目錄下,你會獲得一個 uwsgi 二進制文件。

第一個 WSGI 應用

讓我們從一個簡單的 "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 加載器將會搜索的默認函數(shù) application 。

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

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

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

默認情況下,uWSGI 啟動一個單一的進程和一個單一的線程。

你可以用 --processes 選項添加更多的進程,或者使用 --threads 選項添加更多的線程 ,也可以兩者同時使用。

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

以上命令將會生成 4 個進程, 每個進程有 2 個線程。

如果你要執(zhí)行監(jiān)控任務,可以使用 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 服務器使用

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

一個常用的nginx配置如下:

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

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

現(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 服務器使用 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 框架,假設 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:3031
chdir = /home/foobar/myproject/
wsgi-file = myproject/wsgi.py
processes = 4
threads = 2
stats = 127.0.0.1:9191

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

uwsgi yourfile.ini

部署 Flask

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

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

from flask import Flask
app = 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

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

相關文章

  • python3中布局背景顏色代碼分析

    python3中布局背景顏色代碼分析

    在本篇文章里小編給大家分享了一篇關于python3中布局背景顏色代碼分析的相關內(nèi)容,有興趣的朋友們可以學習參考下。
    2020-12-12
  • python單線程下實現(xiàn)多個socket并發(fā)過程詳解

    python單線程下實現(xiàn)多個socket并發(fā)過程詳解

    這篇文章主要介紹了python單線程下實現(xiàn)多個socket并發(fā)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • python實現(xiàn)統(tǒng)計代碼行數(shù)的方法

    python實現(xiàn)統(tǒng)計代碼行數(shù)的方法

    這篇文章主要介紹了python實現(xiàn)統(tǒng)計代碼行數(shù)的方法,涉及Python中os模塊及codecs模塊的相關使用技巧,需要的朋友可以參考下
    2015-05-05
  • 總結(jié)python實現(xiàn)父類調(diào)用兩種方法的不同

    總結(jié)python實現(xiàn)父類調(diào)用兩種方法的不同

    最近在工作中實現(xiàn)父類調(diào)用的時候發(fā)現(xiàn)了一個錯誤,然后通過分析實踐總結(jié)出來了,下面這篇文章主要給大家總結(jié)了python中實現(xiàn)父類調(diào)用兩種方法的不同之處,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • 淺談python配置與使用OpenCV踩的一些坑

    淺談python配置與使用OpenCV踩的一些坑

    下面小編就為大家分享一篇淺談python配置與使用OpenCV踩的一些坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 怎么使用python繪制3D瀑布圖

    怎么使用python繪制3D瀑布圖

    這篇文章主要介紹了怎么使用python繪制3D瀑布圖的相關資料,瀑布圖是由麥肯錫顧問公司所獨創(chuàng)的圖表類型,因為形似瀑布流水而稱之為瀑布圖(Waterfall Plot),文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-09-09
  • Python基于Hypothesis測試庫生成測試數(shù)據(jù)

    Python基于Hypothesis測試庫生成測試數(shù)據(jù)

    這篇文章主要介紹了Python基于Hypothesis測試庫生成測試數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Python HTML解析器BeautifulSoup用法實例詳解【爬蟲解析器】

    Python HTML解析器BeautifulSoup用法實例詳解【爬蟲解析器】

    這篇文章主要介紹了Python HTML解析器BeautifulSoup用法,結(jié)合實例形式詳細分析了第三方庫BeautifulSoup實現(xiàn)的爬蟲解析器功能具體操作技巧,需要的朋友可以參考下
    2019-04-04
  • python導入其它py文件的實現(xiàn)步驟

    python導入其它py文件的實現(xiàn)步驟

    本文主要介紹了python導入其它py文件的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • Python 恐龍跑跑小游戲?qū)崿F(xiàn)流程

    Python 恐龍跑跑小游戲?qū)崿F(xiàn)流程

    大家好,本篇文章主要講的是用python實現(xiàn)谷歌小恐龍小游戲,看看這是你斷網(wǎng)時的樣子么,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02

最新評論