W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
開發(fā)服務(wù)器上的Flask應(yīng)用程序只能在設(shè)置了開發(fā)環(huán)境的計(jì)算機(jī)上訪問(wèn)。這是一種默認(rèn)行為,因?yàn)樵谡{(diào)試模式下,用戶可以在計(jì)算機(jī)上執(zhí)行任意代碼。
如果禁用了debug,則可以通過(guò)將主機(jī)名設(shè)置為'0.0.0.0',使本地計(jì)算機(jī)上的開發(fā)服務(wù)器可供網(wǎng)絡(luò)上的用戶使用。
app.run(host = ’0.0.0.0’)
因此,您的操作系統(tǒng)將偵聽所有公共IP。
要從開發(fā)環(huán)境切換到成熟的生產(chǎn)環(huán)境,需要在真實(shí)的Web服務(wù)器上部署應(yīng)用程序。根據(jù)您的具體情況,可以使用不同的選項(xiàng)來(lái)部署Flask Web應(yīng)用程序。
對(duì)于小型應(yīng)用程序,您可以考慮在以下任何托管平臺(tái)上部署它,所有這些平臺(tái)都為小型應(yīng)用程序提供免費(fèi)計(jì)劃。
Flask應(yīng)用程序可以部署在這些云平臺(tái)上。此外,可以在云平臺(tái)上部署Flask應(yīng)用程序。
Localtunnel服務(wù)允許您在localhost上共享您的應(yīng)用程序,而不會(huì)破壞DNS和防火墻設(shè)置。
如果您傾向于使用專用Web服務(wù)器代替上述共享平臺(tái),則可以使用以下選項(xiàng)進(jìn)行探索。
mod_wsgi是一個(gè)Apache模塊,它提供了一個(gè)WSGI兼容接口,用于在Apache服務(wù)器上托管基于Python的Web應(yīng)用程序。
要直接從PyPi安裝官方發(fā)行版,你可以運(yùn)行:
pip install mod_wsgi
要驗(yàn)證安裝是否成功,請(qǐng)使用start-server命令運(yùn)行mod_wsgi-express腳本:
mod_wsgi-express start-server
這將在端口8000上啟動(dòng)Apache/mod_wsgi。然后,您可以通過(guò)將瀏覽器指向以下內(nèi)容來(lái)驗(yàn)證安裝是否有效:
http://localhost:8000/
應(yīng)該有一個(gè)yourapplication.wsgi文件。此文件包含代碼mod_wsgi,該代碼在啟動(dòng)時(shí)執(zhí)行以獲取應(yīng)用程序?qū)ο蟆?/p>
對(duì)于大多數(shù)應(yīng)用程序,以下文件應(yīng)該足夠了:
from yourapplication import app as application
確保yourapplication和所有正在使用的庫(kù)都在python加載路徑上。
您需要告訴mod_wsgi,您的應(yīng)用程序的位置:
<VirtualHost *>
ServerName example.com
WSGIScriptAlias / C:\yourdir\yourapp.wsgi
<Directory C:\yourdir>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
有很多流行的服務(wù)器用Python編寫,它們包含WSGI應(yīng)用程序并提供HTTP服務(wù)。
# 添加一個(gè)location
location /static{
# root html/blog;
# 或
alias html/blog/static; # 兩種方式都可以
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: