您好,登錄后才能下訂單哦!
本篇內容介紹了“Python如何安裝和配置uWSGI”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
以 Ubuntu/Debian 為例,先安裝依賴包:
apt-get install build-essential python-dev
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" 開始,創建文件 foobar.py,代碼如下:
def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return [b"Hello World"]
uWSGI Python 加載器將會搜索的默認函數 application 。
接下來我們啟動 uWSGI 來運行一個 HTTP 服務器,將程序部署在HTTP端口 9090 上:
uwsgi --http :9090 --wsgi-file foobar.py
默認情況下,uWSGI 啟動一個單一的進程和一個單一的線程。
你可以用 --processes 選項添加更多的進程,或者使用 --threads 選項添加更多的線程 ,也可以兩者同時使用。
uwsgi --http :9090 --wsgi-file foobar.py --master --processes 4 --threads 2
以上命令將會生成 4 個進程, 每個進程有 2 個線程。
如果你要執行監控任務,可以使用 stats 子系統,監控的數據格式是 JSON:
uwsgi --http :9090 --wsgi-file foobar.py --master --processes 4 --threads 2 --stats 127.0.0.1:9191
我們可以安裝 uwsgitop(類似 Linux top 命令) 來查看監控數據:
pip install uwsgitop
我們可以將 uWSGI 和 Nginx Web 服務器結合使用,實現更高的并發性能。
一個常用的nginx配置如下:
location / { include uwsgi_params; uwsgi_pass 127.0.0.1:3031; }
以上代碼表示使用 nginx 接收的 Web 請求傳遞給端口為 3031 的 uWSGI 服務來處理。
現在,我們可以生成 uWSGI 來本地使用 uwsgi 協議:
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 協議 (這與會自己生成一個代理的–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 是最常使用的 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
接下來你只需要執行以下命令即可:
uwsgi yourfile.ini
Flask 是一個流行的 Python web 框架。
創建文件 myflaskapp.py ,代碼如下:
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return "<span style='color:red'>I am app 1</span>"
執行以下命令:
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”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。