Redash中文版配置uwsgi服務

一、安裝python

pip install uwsginginx

二、配置web

(1)uwsgi執行通常有兩種方式:命令行和文件配置,可是命令行可能須要識記不少參數,所以採用文件配置是更通用的作法,文件格式支持不少種好比ini、xml、yaml等,筆者建議仍是採用比較簡單key-value形式ini模式,下面給出一個簡單的uwsgiini配置實例:緩存

[uwsgi]http=:5000chdir=/root/redash/wsgi-file=redash/wsgi.pycallable=appmaster=truevirtualenv=/root/redash/venv/pythonpath=/root/redash/processes=1threads=2服務器

執行:app

uwsgi--ini uwsgi.inisocket

(2)參數解釋:spa

• socket:socket文件,也能夠是地址+端口;命令行

• master:是否啓動主進程來管理其餘進程;日誌

• chdir:項目的根目錄;

• module:wsgi文件相對路徑;

• home:虛擬環境目錄;

• workers:開啓的進程數量;

• reload-mercy:設置在平滑的重啓(直到接收到的請求處理完才重啓)一個3) 、工做子進程中,等待這個工做結束的最長秒數;

• vacuum:服務結束後時候刪除對應的socket和pid文件;

• max_requests:每一個工做進程設置的請求上限;

• limit_as:限制每一個uwsgi進程佔用的虛擬內存數目;

• buffer_size:設置用於uwsgi包解析的內部緩存區大小;

• pid_file:指定pid文件;

• harakiri:請求的超時時間;

• daemonize:進程後臺執行,並保存日誌到特定路徑;若是uwsgi進程被supervisor管理,不能設置該參數;

三、uwsgi三種通信方式

配置:

socket=120.0.1:8888http-socket=120.0.1:8888http=0.0.0.0:8888

Nginx與uwsgi之間用socket通信如今大部分web服務器支持uwsgi,這是這三種方式最高效的一種形式,socket通訊速度會比http快。

Nginx與uwsgi之間用http-socket通信,這個適用於web服務器不支持uwsgi時。

後面兩個都是http方式,官方推薦的方式爲socket以及http-socket方式,顯然使用http方式會額外產生一個http進程,若是還經過nginx轉發,那麼效率上來講是相對比較低的。

相關文章
相關標籤/搜索