亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索

(數(shù)據(jù)科學(xué)學(xué)習(xí)手札123)Python+Dash快速web應(yīng)用開發(fā)——部署發(fā)布篇

蓮花仙者
發(fā)布: 2025-10-06 11:31:18
原創(chuàng)
915人瀏覽過

1 簡介

這是我的系列教程Python+Dash快速web應(yīng)用開發(fā)的第二十期。在上一期中,我介紹了如何通過內(nèi)網(wǎng)穿透的方式,將任何可以聯(lián)網(wǎng)的電腦作為“服務(wù)器”臨時(shí)發(fā)布你的Dash應(yīng)用。

然而,內(nèi)網(wǎng)穿透作為一種臨時(shí)展示的Dash應(yīng)用發(fā)布方式,存在諸多局限性,尤其是在性能方面。對于較為正式的Dash應(yīng)用,我們需要配合具有生產(chǎn)級別性能的web服務(wù)器進(jìn)行發(fā)布。今天,我將介紹在windowslinux系統(tǒng)下,如何簡單快速地發(fā)布你的Dash應(yīng)用,適用于云服務(wù)器與局域網(wǎng)環(huán)境。

(數(shù)據(jù)科學(xué)學(xué)習(xí)手札123)Python+Dash快速web應(yīng)用開發(fā)——部署發(fā)布篇圖1

2 利用waitress在windows中發(fā)布Dash應(yīng)用

立即進(jìn)入豆包AI人工智官網(wǎng)入口”;

立即學(xué)習(xí)豆包AI人工智能在線問答入口”;

首先,我們來介紹在windows中快速發(fā)布Dash應(yīng)用的方式。我們需要用到waitress,這是一個(gè)可以在windowsunix系統(tǒng)中運(yùn)行的具有生產(chǎn)級別性能的WSGI服務(wù)器。由于Dash是基于Flask的,因此配合waitress發(fā)布非常方便。

在使用pip install waitress完成安裝后,我們主要有兩種方式發(fā)布Dash應(yīng)用:

方式一

第一種方式非常簡單,是通過命令行進(jìn)行發(fā)布。我們以項(xiàng)目結(jié)構(gòu)篇中搭建的七普數(shù)據(jù)看板項(xiàng)目為例,在app.py的同級目錄啟動終端,執(zhí)行下列命令:

waitress-serve --port=8888 app:app.server
登錄后復(fù)制

這樣,我們就啟動了URL為本地ipv4地址:8888公網(wǎng)ip地址:8888Dash應(yīng)用。其中本地ipv4地址可以通過在終端執(zhí)行ipconfig來查看:

(數(shù)據(jù)科學(xué)學(xué)習(xí)手札123)Python+Dash快速web應(yīng)用開發(fā)——部署發(fā)布篇圖2

因此,局域網(wǎng)內(nèi)的任何設(shè)備都可以通過訪問上述URL來使用我們發(fā)布的Dash應(yīng)用(例如同一WIFI下的所有設(shè)備,同一內(nèi)網(wǎng)下的所有寬帶連接的設(shè)備):

(數(shù)據(jù)科學(xué)學(xué)習(xí)手札123)Python+Dash快速web應(yīng)用開發(fā)——部署發(fā)布篇圖3

如果你需要通過windows云服務(wù)器向外網(wǎng)發(fā)布Dash應(yīng)用,類似的訪問時(shí)只需將IP部分替換為公網(wǎng)IP即可。

方式二

豆包愛學(xué)
豆包愛學(xué)

豆包旗下AI學(xué)習(xí)應(yīng)用

豆包愛學(xué)26
查看詳情 豆包愛學(xué)

雖然waitress-server命令行的方式簡單,但它只是一種簡單需求下的快捷方式。實(shí)際上,waitress設(shè)計(jì)了很多功能參數(shù),并可配合PasteDeploylogging等其他庫來打印和記錄日志等增廣功能。這時(shí),我們需要使用另一種方式。

推薦的方式是在app.py同級目錄建立wsgi.py文件,然后在其中配置waitress服務(wù)的相關(guān)參數(shù)。例如,上文中命令行的等價(jià)方式是:

from waitress import serve
from app import app
serve(
    app.server,
    port=8888
)
登錄后復(fù)制

接著在終端執(zhí)行python wsgi.py即可。而關(guān)于serve()的更多參數(shù),以及如何打印或記錄日志信息,可以參考官網(wǎng)文檔https://docs.pylonsproject.org/projects/waitress/en/latest/arguments.htmlhttps://docs.pylonsproject.org/projects/waitress/en/latest/logging.html。

3 利用gunicorn在linux中發(fā)布Dash應(yīng)用

當(dāng)你的服務(wù)器為linux系統(tǒng)時(shí),我們有更好的web服務(wù)器選擇——gunicorn。它移植自RubyUnicorn項(xiàng)目,是一個(gè)兼具簡單易用、輕量高效特點(diǎn)的非常流行的WSGI服務(wù)器,但只能運(yùn)行于Unix系統(tǒng)中,因此前面介紹windows系統(tǒng)部署方法時(shí)沒有提到它。

使用gunicorn來發(fā)布Dash應(yīng)用也非常簡單高效,例如dash-bootstrap-components的官網(wǎng)文檔就使用它進(jìn)行發(fā)布。

同樣,利用pip install gunicorn完成安裝后,只需一行命令我們就可以架起Dash應(yīng)用。與上文waitress略有不同的是,我們需要在app.py中對server.py中的server對象進(jìn)行導(dǎo)入,接著再執(zhí)行下列gunicorn命令:

gunicorn -w 4 -b 0.0.0.0:8888 app:server
登錄后復(fù)制

這樣,我們就成功地在linux服務(wù)器上發(fā)布了Dash應(yīng)用,同樣可以通過公網(wǎng)和局域網(wǎng)IP進(jìn)行訪問,其中-w參數(shù)用于指定開啟指定數(shù)量的進(jìn)程來提高應(yīng)用的并發(fā)性能。

(數(shù)據(jù)科學(xué)學(xué)習(xí)手札123)Python+Dash快速web應(yīng)用開發(fā)——部署發(fā)布篇圖4

配合nohup我們可以輕松地將gunicorn命令置于后臺執(zhí)行,不會阻塞終端,如:

nohup gunicorn -w 4 -b 0.0.0.0:8888 app:server &
登錄后復(fù)制

如果想要關(guān)閉后臺運(yùn)行在某個(gè)端口號下的所有gunicorn進(jìn)程,執(zhí)行kill $(lsof -i:端口號|awk '{if(NR==2)print $2}')命令即可一步到位。

同樣地,gunicorn也擁有很多功能參數(shù),常用的有--access-logfile來指定向外書寫日志文件,-t用于設(shè)定請求的超時(shí)秒數(shù)閾值,默認(rèn)為30秒。當(dāng)你的Dash應(yīng)用某個(gè)回調(diào)執(zhí)行的計(jì)算時(shí)間很長時(shí),請務(wù)必記住手動設(shè)置提升該參數(shù)的數(shù)值。

更多有關(guān)gunicorn的內(nèi)容見官網(wǎng)https://docs.gunicorn.org/en/latest/index.html。


以上就是(數(shù)據(jù)科學(xué)學(xué)習(xí)手札123)Python+Dash快速web應(yīng)用開發(fā)——部署發(fā)布篇的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!

最佳 Windows 性能的頂級免費(fèi)優(yōu)化軟件
最佳 Windows 性能的頂級免費(fèi)優(yōu)化軟件

每個(gè)人都需要一臺速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊表數(shù)據(jù)和不必要的后臺進(jìn)程會占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。

下載
來源:php中文網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn
最新問題
開源免費(fèi)商場系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號 技術(shù)交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號