Flask 部署

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

如果禁用了調(diào)試,則通過將主機(jī)名設(shè)置為:0.0.0.0,可以使網(wǎng)絡(luò)上的用戶可以使用本地計(jì)算機(jī)上的開發(fā)服務(wù)器。

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
app.run(host = ’0.0.0.0’)

這樣,您的操作系統(tǒng)會(huì)偵聽所有公共IP,也就是說,所有請求都會(huì)被處理。

部署

要從開發(fā)環(huán)境切換到完整的生產(chǎn)環(huán)境,應(yīng)用程序需要部署在真正的Web服務(wù)器上。 根據(jù)您的具體情況,可以使用不同的選項(xiàng)來部署Flask Web應(yīng)用程序。

對于小型應(yīng)用程序,可以考慮將其部署在以下任何托管平臺(tái)上,所有這些平臺(tái)都提供針對小型應(yīng)用程序的免費(fèi)計(jì)劃。

Heroku dotcloud webfaction

Flask應(yīng)用程序可以部署在這些云平臺(tái)上。 另外,可以在Google云平臺(tái)上部署Flask應(yīng)用程序。 Localtunnel服務(wù)允許您在本地主機(jī)上共享您的應(yīng)用程序,而不會(huì)混淆DNS和防火墻設(shè)置。

如果您傾向于使用專用Web服務(wù)器來代替上述共享平臺(tái),則可以使用以下選項(xiàng)。

mod_wsgi

mod_wsgi是一個(gè)Apache模塊,它提供了一個(gè)用于在Apache服務(wù)器上托管基于Python的Web應(yīng)用程序的WSGI兼容接口。

安裝mod_wsgi

要從PyPi直接安裝正式版本,可以運(yùn)行 -

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
pip install mod_wsgi

要驗(yàn)證安裝是否成功,使用start-server命令運(yùn)行mod_wsgi-express腳本 -

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
mod_wsgi-express start-server

它將在端口:8000上啟動(dòng) Apache/mod_wsgi。然后,可以通過將瀏覽器指向 -

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
http://localhost:8000/

創(chuàng)建.wsgi文件

應(yīng)該有一個(gè) yourapplication.wsgi 文件。 該文件包含代碼mod_wsgi,該代碼在啟動(dòng)時(shí)執(zhí)行以獲取應(yīng)用程序?qū)ο蟆?對于大多數(shù)應(yīng)用程序,以下文件應(yīng)該足夠 -

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
from yourapplication import app as application

確保yourapplication和所有正在使用的庫位于python加載路徑上。

配置Apache

需要告訴mod_wsgi,應(yīng)用程序的位置。參考以下配置 -

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.soo66.com
# Date : 2020-08-08
<VirtualHost *>
    ServerName example.com
    WSGIScriptAlias / C:\yourdir\yourapp.wsgi
    <Directory C:\yourdir>
       Order deny,allow
       Allow from all
    </Directory>
 </VirtualHost>

獨(dú)立的WSGI容器

有許多以Python編寫的流行服務(wù)器,其中包含WSGI應(yīng)用程序并提供HTTP服務(wù)。

Gunicorn Tornado Gevent Twisted Web

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清