国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Sanic框架應(yīng)用部署方法詳解

2020-02-15 22:16:28
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了Sanic框架應(yīng)用部署方法。分享給大家供大家參考,具體如下:

簡(jiǎn)介

Sanic是一個(gè)類似Flask的Python 3.5+ Web服務(wù)器,它的寫入速度非常快。除了Flask之外,Sanic還支持異步請(qǐng)求處理程序。這意味著你可以使用Python 3.5中新的閃亮的異步/等待語(yǔ)法,使你的代碼非阻塞和快速。

在之前的博文中已經(jīng)講到如何使用Sanic開發(fā)一個(gè)Python后臺(tái)程序,接下來(lái)記錄一下怎么部署Sanic應(yīng)用

部署

內(nèi)置的網(wǎng)絡(luò)服務(wù)器簡(jiǎn)化了Sanic的部署,在定義了一個(gè)sanic.Sanic實(shí)例之后,可以調(diào)用run()方法再傳入以下關(guān)鍵字參數(shù):

host:主機(jī)服務(wù)器的地址,默認(rèn)為127.0.0.1 port:?jiǎn)?dòng)服務(wù)器的斷開,默認(rèn)為8000 debug:?jiǎn)⒂谜{(diào)試輸出,默認(rèn)為False ssl:SSLContext用于工作人員的ssl加密,默認(rèn)為None sock:服務(wù)器接受連接的套接字,默認(rèn)為None wrokers:產(chǎn)生工作進(jìn)程的數(shù)量,默認(rèn)為1 loop:一個(gè)asyncio兼容的循環(huán)事件。如果沒(méi)有指定,Sanic創(chuàng)建它自己的事情循環(huán),默認(rèn)為None protocol:asyncio.protocol的子類,默認(rèn)為HttpProtocol

wrokers

默認(rèn)情況下,Sanic只使用一個(gè)CPU在主進(jìn)程中進(jìn)行監(jiān)聽,有時(shí)我們?yōu)榱速Y源利用最大化,可以指定run參數(shù)的workers數(shù)量即可:

app.run(host="0.0.0.0",port=5000,wrokers=4)

Sanic會(huì)自動(dòng)在多個(gè)進(jìn)行中交換路線,所以如果有多個(gè)CPU,建議盡可能多的workers

通過(guò)命令運(yùn)行

如果你喜歡命令行參數(shù),則你可以通過(guò)執(zhí)行模塊來(lái)啟動(dòng)Sanic服務(wù)器。例如,你將Sanic初始化為app的文件名為manager.py,則可以像這樣運(yùn)行服務(wù)器:
代碼如下:python -m sanic manager.app --host=0.0.0.0 --port=5000 --workers=4

用命令行的方式運(yùn)行sanic程序,則不需要再Python文件中調(diào)用app.run()方法了

通過(guò)Gunicorn運(yùn)行

了解過(guò)Gunicorn的都知道,Gunicorn為WSGI容器的一種,常見的還有uWSGI(可參考附錄Gunicorn配置說(shuō)明)

為了使用Gunicorn運(yùn)行Sanic程序,我們還需要設(shè)置worker-class參數(shù),并將其設(shè)置為sanic.worker.GunicornWorker
代碼如下:gunicorn manager:app bind 0.0.0.0:5000 worker-class sanic.worker.GunicornWorker

如果你的應(yīng)用程序遭受內(nèi)存泄漏,你可以將Gunicorn配置在完成指定數(shù)量的請(qǐng)求之后正常重新啟動(dòng)工作程序,這可以幫助限制內(nèi)存泄漏的影響

附錄:Gunicorn配置說(shuō)明

在前面的文章《Python Web編程之WSGI協(xié)議》中有記錄WSGI容器的作用,以及我們知道常見的容器就只有的uWSGI和Gunicorn,在《Python Web編程之WSGI協(xié)議》中有記錄他們的特性及優(yōu)缺點(diǎn),在這就不在多做描述。接下來(lái)將著重記錄一下Gunicorn的一些配置:

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 武冈市| 保靖县| 延庆县| 云林县| 民乐县| 河西区| 七台河市| 赤峰市| 忻城县| 西乌珠穆沁旗| 舒城县| 贞丰县| 阜新| 霸州市| 四平市| 黔西| 灵寿县| 任丘市| 雅安市| 孝感市| 涟水县| 中阳县| 普安县| 南开区| 垣曲县| 喀什市| 巴彦淖尔市| 青岛市| 北流市| 张掖市| 乡城县| 吴堡县| 敦煌市| 麻江县| 正安县| 赣州市| 开封市| 三江| 南康市| 贵阳市| 方城县|