国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 卢龙县| 藁城市| 手游| 南木林县| 曲水县| 河东区| 周宁县| 牙克石市| 柳林县| 红河县| 建水县| 梧州市| 郎溪县| 庄浪县| 邹城市| 山阳县| 子洲县| 上思县| 仙桃市| 砀山县| 澜沧| 崇阳县| 聂拉木县| 鱼台县| 定边县| 河池市| 金寨县| 南雄市| 长丰县| 洪湖市| 武汉市| 平邑县| 井冈山市| 长岛县| 克什克腾旗| 霍邱县| 轮台县| 威海市| 吉安市| 长汀县| 吉安市|