開發(fā)服務(wù)器上的Flask應(yīng)用程序只能在設(shè)置了開發(fā)環(huán)境的計算機上訪問。這是一種默認行為,因為在調(diào)試模式下,用戶可以在計算機上執(zhí)行任意代碼。
如果禁用了debug,則可以通過將主機名設(shè)置為'0.0.0.0',使本地計算機上的開發(fā)服務(wù)器可供網(wǎng)絡(luò)上的用戶使用。
app.run(host = ’0.0.0.0’)
因此,您的操作系統(tǒng)將偵聽所有公共IP。
要從開發(fā)環(huán)境切換到成熟的生產(chǎn)環(huán)境,需要在真實的Web服務(wù)器上部署應(yīng)用程序。根據(jù)您的具體情況,可以使用不同的選項來部署Flask Web應(yīng)用程序。
對于小型應(yīng)用程序,您可以考慮在以下任何托管平臺上部署它,所有這些平臺都為小型應(yīng)用程序提供免費計劃。
Flask應(yīng)用程序可以部署在這些云平臺上。此外,可以在云平臺上部署Flask應(yīng)用程序。
Localtunnel服務(wù)允許您在localhost上共享您的應(yīng)用程序,而不會破壞DNS和防火墻設(shè)置。
如果您傾向于使用專用Web服務(wù)器代替上述共享平臺,則可以使用以下選項進行探索。
mod_wsgi是一個Apache模塊,它提供了一個WSGI兼容接口,用于在Apache服務(wù)器上托管基于Python的Web應(yīng)用程序。
要直接從PyPi安裝官方發(fā)行版,你可以運行:
pip install mod_wsgi
要驗證安裝是否成功,請使用start-server命令運行mod_wsgi-express腳本:
mod_wsgi-express start-server
這將在端口8000上啟動Apache/mod_wsgi。然后,您可以通過將瀏覽器指向以下內(nèi)容來驗證安裝是否有效:
http://localhost:8000/
應(yīng)該有一個yourapplication.wsgi文件。此文件包含代碼mod_wsgi,該代碼在啟動時執(zhí)行以獲取應(yīng)用程序?qū)ο蟆?/p>
對于大多數(shù)應(yīng)用程序,以下文件應(yīng)該足夠了:
from yourapplication import app as application
確保yourapplication和所有正在使用的庫都在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ù)。
# 添加一個location
location /static{
# root html/blog;
# 或
alias html/blog/static; # 兩種方式都可以
}
更多建議: