Python uWSGI 安裝配置
主要介紹如何部署簡單的 WSGI 應用和常見的 Web 框架。 |
以 Ubuntu/Debian 為例,先安裝依賴包:
apt-get install build-essential python-dev
1、透過 pip :
pip install uwsgi
2、下載安裝 :
curl | bash -s default /tmp/uwsgi
將 uWSGI 二進位制安裝到 /tmp/uwsgi ,你可以修改它。
3、原始碼安裝:
wget tar zxvf uwsgi-latest.tar.gz cd uwsgi-latest make
安裝完成後,在當前目錄下,你會獲得一個 uwsgi 二進位制檔案。
讓我們從一個簡單的 "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(類似 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 "I am app 1"
執行以下命令:
uwsgi --socket 127.0.0.1:3031 --wsgi-file myflaskapp.py --callable app --processes 4 --threads 2 --stats 127.0.0.1:9191
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2670589/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- contos7.2 搭建 python pip uwsgi 以及安裝 django 框架PythonDjango框架
- 【Python】安裝配置gymPython
- Anaconda的安裝配置及Python配置Python
- Django+uWSGI+Nginx配置DjangoNginx
- Django Mezzanine uwsgi nginx 配置DjangoNginx
- Python 下載安裝和配置Python
- nginx配置+uwsgi+負載均衡配置Nginx負載
- centos7騰訊雲uwsgi安裝報錯解決CentOS
- Linux學習,部署django專案到伺服器,及安裝python,uwsgi等LinuxDjango伺服器Python
- SublimeText3 安裝和配置,以及配置 Python 環境Python
- Python開發環境的安裝配置Python開發環境
- Python第二課 -PyCharm安裝與配置PythonPyCharm
- linux 安裝 python2.7 +配置mysqlLinuxPythonMySql
- Python 環境配置(三)安裝pytorchPythonPyTorch
- 本地windows搭建spark環境,安裝與詳細配置(jdk安裝與配置,scala安裝與配置,hadoop安裝與配置,spark安裝與配置)WindowsSparkJDKHadoop
- 基於Ubuntu16.04的django+uwsgi+nginx安裝部署UbuntuDjangoNginx
- 伺服器端uwsgi配置檔案伺服器
- nginx+uwsgi+flask 伺服器配置NginxFlask伺服器
- Python+Selenium安裝及環境配置Python
- zabbix安裝—–nginx安裝和配置Nginx
- Mac安裝python2和python3,並配置MacPython
- Zookeeper 安裝配置
- 【mongodb安裝配置】MongoDB
- ceph安裝配置
- ELK 安裝配置
- Prometheus安裝配置Prometheus
- MySQL安裝配置MySql
- SwitchOmega 安裝配置
- Hive安裝配置Hive
- JWT安裝配置JWT
- oracle安裝配置Oracle
- VNC安裝配置VNC
- rlwrap 安裝配置
- otrs安裝配置
- Sybase安裝配置
- memcache安裝配置
- mfs安裝配置
- storm安裝配置ORM