新聞中心
開發(fā)服務(wù)器上的Flask應(yīng)用程序只能在設(shè)置了開發(fā)環(huán)境的計(jì)算機(jī)上訪問。這是一種默認(rèn)行為,因?yàn)樵谡{(diào)試模式下,用戶可以在計(jì)算機(jī)上執(zhí)行任意代碼。

如果禁用了debug,則可以通過將主機(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)來部署Flask Web應(yīng)用程序。
對于小型應(yīng)用程序,您可以考慮在以下任何托管平臺上部署它,所有這些平臺都為小型應(yīng)用程序提供免費(fèi)計(jì)劃。
- Heroku
- dotcloud
- webfaction
Flask應(yīng)用程序可以部署在這些云平臺上。此外,可以在云平臺上部署Flask應(yīng)用程序。
Localtunnel服務(wù)允許您在localhost上共享您的應(yīng)用程序,而不會破壞DNS和防火墻設(shè)置。
如果您傾向于使用專用Web服務(wù)器代替上述共享平臺,則可以使用以下選項(xiàng)進(jìn)行探索。
mod_wsgi
mod_wsgi是一個(gè)Apache模塊,它提供了一個(gè)WSGI兼容接口,用于在Apache服務(wù)器上托管基于python的Web應(yīng)用程序。
安裝mod_wsgi
要直接從PyPi安裝官方發(fā)行版,你可以運(yùn)行:
pip install mod_wsgi
要驗(yàn)證安裝是否成功,請使用start-server命令運(yùn)行mod_wsgi-express腳本:
mod_wsgi-express start-server
這將在端口8000上啟動(dòng)Apache/mod_wsgi。然后,您可以通過將瀏覽器指向以下內(nèi)容來驗(yàn)證安裝是否有效:
http://localhost:8000/
創(chuàng)建.wsgi文件
應(yīng)該有一個(gè)yourapplication.wsgi文件。此文件包含代碼mod_wsgi,該代碼在啟動(dòng)時(shí)執(zhí)行以獲取應(yīng)用程序?qū)ο蟆?/p>
對于大多數(shù)應(yīng)用程序,以下文件應(yīng)該足夠了:
from yourapplication import app as application
確保yourapplication和所有正在使用的庫都在python加載路徑上。
配置Apache
您需要告訴mod_wsgi,您的應(yīng)用程序的位置:
ServerName example.com
WSGIScriptAlias / C:\yourdir\yourapp.wsgi
Order deny,allow
Allow from all
獨(dú)立的WSGI容器
有很多流行的服務(wù)器用Python編寫,它們包含WSGI應(yīng)用程序并提供HTTP服務(wù)。
- Gunicorn
- Tornado
- Gevent
- Twisted Web
靜態(tài)文件處理
- 準(zhǔn)備靜態(tài)資源
python
在項(xiàng)目根目錄下(blog)創(chuàng)建static目錄
將圖片拷貝到static下 - ?配置nginx轉(zhuǎn)發(fā)
# 添加一個(gè)location
location /static{
# root html/blog;
# 或
alias html/blog/static; # 兩種方式都可以
}
標(biāo)題名稱:創(chuàng)新互聯(lián)Flask教程:Flask部署
轉(zhuǎn)載來源:http://www.dlmjj.cn/article/djisdio.html


咨詢
建站咨詢
