使用gunicorn部署Flask

2021-08-21 21:49:07 字數 1214 閱讀 8194

gunicorn是乙個python wsgi的web服務框架,只支援在unix系統上執行,**於ruby的unicorn專案。gunicorn使用prefork master-worker模型,能夠與各種wsgi web框架協作。

gunicorn安裝非常簡單,使用命令pip install guncorn即可。一般使用它,主要是為使用其非同步的worker模型,還需要安裝對應的非同步模組。

$ pip install greenlet #使用非同步必須安裝

$ pip install eventlet #使用eventlet workers

$ pip install gevent #使用gevent workers

後面的內容使用flask進行舉例,**選自flask首頁給出的測試**,儲存為test.py:

from flask import flask

def hello():

return "hello world!"

通常使用的引數:

-c config, --config=config

設定配置檔案。

-b bind, --bind=bind

設定服務需要繫結的埠。建議使用host:port。

-w workers, --workers=workers

設定工作程序數。建議伺服器每乙個核心可以設定2-4個。

#繫結到常見埠

linux通常會禁止繫結使用1024以下的埠,除非在root使用者許可權。很多人在使用gunicorn時試圖將其繫結到80或者443埠,發現無效。如果想繫結到這些埠,常見的有如下的幾種方法:1、使用nginx****。2、sudo啟動gunicorn。3、安裝額外的程式。

如果使用方法2,要確保在sudo狀態下安裝的gunicorn,否則可能出奇怪問題。

使用pstree -ap|grep gunicorn列出關於gunicorn的所有程序。輸出內容是乙個樹形結構,最小的一級是worker程序,他們的上一級是gunicorn程序。使用kill -hup [gunicorn的程序id]殺掉程序。如果該程序還存在上一級程序,使用kill -9 [程序id]將其徹底關閉。之後再重新執行pstree -ap|grep gunicorn檢視一下。

使用gunicorn部署django專案

python mange.py runserver 0.0 0.0 8000gunicorn 綠色獨角獸 是乙個被廣泛使用的高效能的python wsgi unix http伺服器 pip install gunicorn gunicorn w 2 b 0.0.0.0 8000 project dj...

使用gunicorn部署flask專案

目錄web框架致力於如何生成html 而web伺服器用於處理和響應http請求。web框架和web伺服器之間的通訊,需要一套雙方都遵守的介面協議。wsgi協議就是用來統一這兩者的介面的。常用的wsgi容器有gunicorn和uwsgi,但gunicorn直接用命令啟動,不需要編寫配置檔案,相對uws...

使用gunicorn部署flask專案

web框架致力於如何生成html 而web伺服器用於處理和響應http請求。web框架和web伺服器之間的通訊,需要一套雙方都遵守的介面協議。wsgi協議就是用來統一這兩者的介面的。常用的wsgi容器有gunicorn和uwsgi,但gunicorn直接用命令啟動,不需要編寫配置檔案,相對uwsgi...