成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

flask筆記:部署flask

Kylin_Mountain / 2539人閱讀

摘要:網(wǎng)上有很多種發(fā)布部署的方式,這里我使用的是發(fā)布。但當(dāng)我部署成功后,我發(fā)現(xiàn)了一個(gè)問題。再說回問題當(dāng)我用的命令啟動(dòng)服務(wù)時(shí),發(fā)現(xiàn)的正則表達(dá)式的路徑轉(zhuǎn)發(fā)規(guī)則發(fā)生了問題。導(dǎo)致訪問地址發(fā)生跳轉(zhuǎn)不正常和錯(cuò)誤的現(xiàn)象。,下面說回正題,介紹如何部署。

網(wǎng)上有很多種發(fā)布部署flask的方式,這里我使用的是Gunicorn、nginx發(fā)布flask。

先說明一下為什么不使用supervisor,之前我也是按照一些文章中的推薦采取nginx、gunicorn和supervisor的方式部署。但當(dāng)我部署成功后,我發(fā)現(xiàn)了一個(gè)問題。

寫到這里先介紹一下supervisor是什么:網(wǎng)上正規(guī)的解釋為supervisor是linux進(jìn)程管理的工具。而我將其理解為其對(duì)gunicorn命令封裝后的工具(當(dāng)然不只是針對(duì)gunicorn,像nginx也可以用其管理,這里是為了方便理解)。

如果用supervisor啟動(dòng)flask,那么可以看成:supervisor調(diào)用gunicorn把flask的服務(wù)啟動(dòng)。

再說回問題:當(dāng)我用supervisor的命令啟動(dòng)服務(wù)時(shí),發(fā)現(xiàn)nginx的正則表達(dá)式的url路徑轉(zhuǎn)發(fā)規(guī)則發(fā)生了問題。導(dǎo)致訪問url地址發(fā)生跳轉(zhuǎn)不正常和404錯(cuò)誤的現(xiàn)象。當(dāng)然錯(cuò)誤的原因不排除我安裝配置的原因,這里不做詳細(xì)的解釋,只是我沒有解決其問題。但就像之前介紹的supervisor只是對(duì)進(jìn)程的管理工具(也可以理解為對(duì)gunicorn命令的封裝),并不對(duì)服務(wù)本身有什么影響,只是日常啟動(dòng)、重啟、停止服務(wù)時(shí)命令行多了一些而已罷了。

ok,下面說回正題,介紹如何部署flask。

1.安裝python、virtualenv、flask、nginx

這些前置工作這里就不介紹了,網(wǎng)絡(luò)上有很多文檔和詳細(xì)的步驟可以參考。

2.創(chuàng)建項(xiàng)目

創(chuàng)建一個(gè)文件夾test,在該文件夾創(chuàng)建test.py文件

mkdir test
cd test
touch test.py

編寫一個(gè)簡單的例子

#encoding:utf-8

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "hello woody"

@app.route("/test/")
def test():
    return "test"

@app.errorhandler(404) 
def page_not_found(error): 
    return "sorry that is my 404"

#if __name__ == "__main__":
#    app.run(host="0.0.0.0",port=5000,debug=True)
3.安裝gunicorn

最新版的virtualenv自帶了gunicorn,如果沒有,請(qǐng)?jiān)谔摂M環(huán)境手動(dòng)安裝

 pip install gunicorn
4.啟動(dòng)flask

進(jìn)入剛創(chuàng)建的項(xiàng)目文件夾下,用命令行啟動(dòng)

cd test
gunicorn -w2 -b0.0.0.0:9016 test:app
-w指的是worker(啟動(dòng)的進(jìn)程),后面跟的數(shù)字是worker的數(shù)量

-b指的是bind(綁定ip),后面是ip:port地址和端口號(hào),0.0.0.0代表所有地址

test指的是入口文件的文件名

app指的是入口文件中Flask()對(duì)象的變量名,這里上面的程序中是app

注:如果想靜默啟動(dòng)(后臺(tái)啟動(dòng)),可以在后面加個(gè) -D 的參數(shù)

gunicorn -w2 -b0.0.0.0:9016 test:app -D
5.nginx配置
location /api/ {
    proxy_pass http://127.0.0.1:9016/;
    #proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44566.html

相關(guān)文章

  • Python學(xué)習(xí)筆記:Web后端開發(fā)一覽

    摘要:試想,在多線程服務(wù)器中,多個(gè)線程同時(shí)處理不同客戶端發(fā)送的不同請(qǐng)求時(shí),每個(gè)線程看到的對(duì)象必然不同。多線程服務(wù)器會(huì)創(chuàng)建一個(gè)線程池,再從線程池中選擇一個(gè)線程用于處理接收到的請(qǐng)求。 框架 Django flask flask是一個(gè)輕量的web開發(fā)應(yīng)用示例開發(fā)一個(gè)小應(yīng)用 from flask import Flask app = Flask(__name__) @app.route(/) d...

    DrizzleX 評(píng)論0 收藏0
  • 我的第一本 gitbook: Flask Web 開發(fā)筆記

    摘要:月份發(fā)布了第版,收到不少網(wǎng)友的良好建議,所以又抽空進(jìn)行了完善,當(dāng)然也拖了不少時(shí)間。本書主要介紹的基本使用,這也是我一開始在學(xué)習(xí)過程中經(jīng)常用到的。第章實(shí)戰(zhàn),介紹了如何開發(fā)一個(gè)簡單的應(yīng)用。聲明本書由編寫,采用協(xié)議發(fā)布。 showImg(https://segmentfault.com/img/remote/1460000007484050?w=200&h=152); 書籍地址 head-f...

    KevinYan 評(píng)論0 收藏0
  • Web 開發(fā)學(xué)習(xí)筆記(4) --- 重定向與HSTS

    摘要:回顧通過前幾篇文章的內(nèi)容我們已經(jīng)搭建了基于框架的一個(gè)簡單的應(yīng)用的代碼如下此外我們還為其申請(qǐng)了公網(wǎng)和域名并且部署了的證書現(xiàn)在當(dāng)我們?cè)跒g覽器地址欄輸入即可訪問我們的網(wǎng)站不過我們的網(wǎng)站目前還存在幾個(gè)問題無法訪問每次都需要用戶手動(dòng)輸入前綴以制定形式 回顧 通過前幾篇文章的內(nèi)容, 我們已經(jīng)搭建了基于 Flask 框架的一個(gè)簡單的 Web 應(yīng)用, server.py 的代碼如下 from f...

    kevin 評(píng)論0 收藏0
  • 如何在 virtualenv 環(huán)境下搭建 Python Web

    摘要:生產(chǎn)環(huán)境下,自帶的服務(wù)器,無法滿足性能要求。配置前面我們已經(jīng)在系統(tǒng)環(huán)境下安裝了安裝好的二進(jìn)制文件放在文件夾下,接下來使用來管理。參考文章探針安裝部署部署筆記在生產(chǎn)環(huán)境上部署使用詳解本文系工程師編譯整理。 由于字?jǐn)?shù)的限制,其實(shí)本篇文章的全標(biāo)題為 《如何在 virtualenv 環(huán)境下 Django + Nginx + Gunicorn+ Supervisor 搭建 Python Web》...

    roland_reed 評(píng)論0 收藏0
  • 如何在 virtualenv 環(huán)境下搭建 Python Web

    摘要:生產(chǎn)環(huán)境下,自帶的服務(wù)器,無法滿足性能要求。配置前面我們已經(jīng)在系統(tǒng)環(huán)境下安裝了安裝好的二進(jìn)制文件放在文件夾下,接下來使用來管理。參考文章探針安裝部署部署筆記在生產(chǎn)環(huán)境上部署使用詳解本文系工程師編譯整理。 由于字?jǐn)?shù)的限制,其實(shí)本篇文章的全標(biāo)題為 《如何在 virtualenv 環(huán)境下 Django + Nginx + Gunicorn+ Supervisor 搭建 Python Web》...

    godiscoder 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<