国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Flask 生產(chǎn)環(huán)境部署(Falsk + uWSGI + nginx)

這篇具有很好參考價(jià)值的文章主要介紹了Flask 生產(chǎn)環(huán)境部署(Falsk + uWSGI + nginx)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言

最近自己做了個(gè) Falsk 小項(xiàng)目,在部署上服務(wù)器的時(shí)候,發(fā)現(xiàn)雖然不乏相關(guān)教程,但大多都是將自己項(xiàng)目代碼復(fù)制出來(lái),不講核心邏輯,不太簡(jiǎn)潔,于是將自己部署的經(jīng)驗(yàn)寫(xiě)成內(nèi)容分享出來(lái)。

uWSGI 簡(jiǎn)介

uWSGI: 一種實(shí)現(xiàn)了多種協(xié)議(包括 uwsgi、http)并能提供服務(wù)器搭建功能的 Python 包

Difference between WSGI , uWSGI and UWSGI

在 Flask 和 nginx 之間使用 uWSGI 的必要性:nginx 并不能直接與 Python 中的 WSGI 通信。WSGI 是 Python 中網(wǎng)絡(luò)服務(wù)的標(biāo)準(zhǔn)。What is the point of uWSGI?

uWSGI 安裝

pip 安裝,如果失敗則用 conda 安裝。Error installing uwsgi in virtualenv

Flask 注意

既然看到這篇內(nèi)容 Flask 程序編寫(xiě)肯定已經(jīng)不是問(wèn)題了,不過(guò)多介紹。Flask 官網(wǎng)中 Quickstart 的代碼為

# app.py
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
    return "<p>Hello, World!</p>"

通過(guò) flask --app hello run 啟動(dòng)。

要提的是代碼中如果有 app.run(),要將其放在 if __name__ == "__main__": 中,即:

# app.py
if __name__ == "__main__":
    app.run()

快速上手 uWSGI

文件目錄下運(yùn)行:uwsgi --http 0.0.0.0:5001 -w app:app。第一個(gè) app 是 Flask 代碼文件名,第一個(gè) app 是代碼中 Flask 對(duì)象變量名,即賦值為 Flask(__name__) 的變量名。

打開(kāi)瀏覽器訪問(wèn)對(duì)應(yīng)端口測(cè)試

部署

部署上服務(wù)器需要添加名為 uwsgi.ini 的 uwsgi 配置文件,放在項(xiàng)目根目錄下。

基本配置:

; uwsgi.ini
[uwsgi]
module = app:app
; http 和 socket 二選一
; socket 用的是 uwsgi 協(xié)議通信
; http = 127.0.0.1:3031
socket = 127.0.0.1:3031
daemonize = ./uwsgi/uwsgi.log ; 后臺(tái)運(yùn)行
pidfile = ./uwsgi/uwsgi.pid   ; 保存 pid 方便后臺(tái)運(yùn)行時(shí)的程序管理

并在根目錄下創(chuàng)建 uwsgi 文件夾,就能運(yùn)行最基礎(chǔ)的服務(wù)器了。

  • 啟動(dòng):uwsgi --ini uwsgi.ini
  • 關(guān)閉:uwsgi --stop ./uwsgi/uwsgi.pid
  • 配置文件更改后:uwsgi --reload ./uwsgi/uwsgi.pid

配置文件中的變量名就是命令行中參數(shù)名的全稱。

還建議配置:

master = 1
processes = 4
; 上面兩個(gè)參數(shù)配置并發(fā),根據(jù)服務(wù)器性能配置
enable-threads = 1  ; 開(kāi)啟多線程
stats = 0.0.0.0:9191  ; 開(kāi)啟監(jiān)控端口,以 json 格式返回當(dāng)下 uwsgi 運(yùn)行狀態(tài)
stats-http = 1        ; 開(kāi)啟 http 訪問(wèn)監(jiān)控端口

奇怪的是在本地測(cè)試時(shí)可以在瀏覽器直接訪問(wèn) 9191 端口,而在服務(wù)員上部署成功后卻無(wú)法訪問(wèn),但是有返回的內(nèi)容,可以用 curl 獲取內(nèi)容。

除此之外,要監(jiān)控 uwsgi 的運(yùn)行狀態(tài),還可以通過(guò) pip 安裝 uwsgitop,而后在 shell 中輸入 uwsgitop 就能查看監(jiān)控,就像 linux 中的 top 一樣。

nginx 配置

nginx 基礎(chǔ)不多介紹,直入正題配合使用 uwsgi 時(shí)該如何配置。

location 中照如下設(shè)置:

# 如果是用 socket:
location / {
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:3031;    # 端口號(hào)和前述配置文件一樣
}
# 如果是用 http:
location / {
    proxy_pass http://127.0.0.1:3031;  # 端口號(hào)和前述配置文件一樣
}

現(xiàn)在可以通過(guò)瀏覽器訪問(wèn)了。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-851264.html

到了這里,關(guān)于Flask 生產(chǎn)環(huán)境部署(Falsk + uWSGI + nginx)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Flask結(jié)合gunicorn和nginx反向代理的生產(chǎn)環(huán)境部署及踩坑記錄

    Flask結(jié)合gunicorn和nginx反向代理的生產(chǎn)環(huán)境部署及踩坑記錄

    個(gè)人博客:https://xzajyjs.cn 之前自己寫(xiě)的flask使用gunicorn上線生產(chǎn)環(huán)境沒(méi)有什么問(wèn)題,但是最近搭建了一個(gè)現(xiàn)成的flask項(xiàng)目,當(dāng)使用python直接運(yùn)行時(shí)不會(huì)有問(wèn)題,而使用gunicorn時(shí)則會(huì)出現(xiàn)一些問(wèn)題。 這里使用pyenv創(chuàng)建了一個(gè)虛擬環(huán)境,并安裝好依賴 下面是入口函數(shù) run.py : 其中

    2024年02月16日
    瀏覽(21)
  • docker+mysql+flask+redis+vue3+uwsgi+docker部署

    首先拉取mysql的鏡像,這里用的mysql5.7.6 docker pull mysql:5.7.6 鏡像拉取完成后啟動(dòng): 利用dockerfile構(gòu)建python3.9.11+uwsgi+nginx 構(gòu)建: docker build -t mydemo . flask配置: 安裝:pip install -r?requirements.txt celery: 微信支付python的庫(kù) --link redis:redis-server flask容器就可以讀取redis容器redis服務(wù)了:

    2024年02月07日
    瀏覽(28)
  • 【Django】在Linux上部署Django(nginx+uwsgi)

    1.說(shuō)明 關(guān)于在Linux上使用uwsgi部署Django的項(xiàng)目的過(guò)程并不難,主要是配置文件的寫(xiě)法,尤其是nginx的配置文件,本文在Ubuntu20.04上通過(guò)uwsgi和nginx部署Django項(xiàng)目 2.安裝環(huán)境 安裝環(huán)境主要有Nginx、Python、MySQL、Redis,可以根據(jù)你的實(shí)際情況進(jìn)行安裝 2.1 安裝nginx 大多數(shù)發(fā)行版Linux都支

    2024年02月12日
    瀏覽(27)
  • Django使用uwsgi+nginx部署,admin沒(méi)有樣式解決辦法

    Django使用uwsgi+nginx部署,admin沒(méi)有樣式解決辦法

    若在服務(wù)器上部署的項(xiàng)目admin沒(méi)有樣式,則檢查下一下配置: settings uwsgi.ini urls nginx.conf } 如果使用了虛擬環(huán)境則修改nginx.conf文件中的/static/路徑為你虛擬環(huán)境的路徑,沒(méi)有使用虛擬環(huán)境則改為你python安裝路徑下的static 修改完后,cd/usr/sbin,使用./nginx -s reload,重啟nginx,重啟項(xiàng)目

    2024年02月14日
    瀏覽(24)
  • Django筆記四十四之Nginx+uWSGI部署Django以及Nginx負(fù)載均衡操作

    Django筆記四十四之Nginx+uWSGI部署Django以及Nginx負(fù)載均衡操作

    本文首發(fā)于公眾號(hào):Hunter后端 原文鏈接:Django筆記四十四之Nginx+uWSGI部署Django以及Nginx負(fù)載均衡操作 這一篇筆記介紹如何使用 Nginx + uWSGI 來(lái)部署 Django。 上一篇筆記中有介紹直接使用 uWSGI 作為 web 服務(wù)器來(lái)部署 Django,這一篇筆記介紹如何使用 Nginx 來(lái)部署。 使用 Nginx 來(lái)部署相

    2024年02月05日
    瀏覽(27)
  • Ubuntu純凈服務(wù)器系統(tǒng)使用Nginx+uwsgi部署django項(xiàng)目

    當(dāng)前文章依賴最新的ubuntu-22.04.3-live-server-amd64服務(wù)器系統(tǒng),python3-10版本,django為5.0版! 該服務(wù)器系統(tǒng)我們可以通過(guò)虛擬機(jī)來(lái)在本地安裝,也可以使用云服務(wù)器,操作方式方法大同小異! 這里我們以開(kāi)源項(xiàng)目baykeshop為基礎(chǔ)來(lái)演示! 開(kāi)源地址:baykeShop: baykeshop是一款python棧采用

    2024年01月17日
    瀏覽(60)
  • 2-Docker-應(yīng)用-多容器部署Django+Vue項(xiàng)目(nginx+uwsgi+mysql)

    2-Docker-應(yīng)用-多容器部署Django+Vue項(xiàng)目(nginx+uwsgi+mysql)

    基于Linux CentOS 7系統(tǒng)(虛擬機(jī)),使用Docker,多容器部署Django+Vue項(xiàng)目 整體部署用到了:Django+Vue+nginx+mysql+uwsgi 先每一個(gè)容器單獨(dú)部署,最后用Docker compose 語(yǔ)法整合,統(tǒng)一部署 參考文章:https://blog.csdn.net/qq_45445505/article/details/135563784 章標(biāo)題:Docker介紹 節(jié)標(biāo)題:Docker安裝 總結(jié)梳

    2024年03月10日
    瀏覽(34)
  • Flask用于生產(chǎn)環(huán)境

    Flask是一個(gè)用Python編寫(xiě)的輕量級(jí)Web應(yīng)用框架,可以用于開(kāi)發(fā)和部署Web服務(wù)。要安裝Flask,您需要以下步驟: - 安裝Python和pip,如果您還沒(méi)有的話。 - 創(chuàng)建一個(gè)虛擬環(huán)境,以便隔離您的Flask應(yīng)用程序和其他Python項(xiàng)目。 - 在虛擬環(huán)境中,使用pip安裝Flask:`pip install flask` - 將您的Fla

    2024年01月21日
    瀏覽(18)
  • Python對(duì)接微信小程序V3接口進(jìn)行支付,并使用uwsgi+nginx+django進(jìn)行https部署

    網(wǎng)上找了很多教程,但是很亂很雜,并且教程資源很少且說(shuō)的詳細(xì)。這里就記錄一下分享給大家 共分為以下幾個(gè)步驟: 目錄 一、開(kāi)始前準(zhǔn)備信息 二、使用前端code獲取用戶的openid 三、對(duì)接小程序v3接口下單 四、小程序支付的回調(diào) 五、安裝并啟動(dòng)uwsgi 六、安裝并啟動(dòng)nginx 七、

    2024年02月12日
    瀏覽(28)
  • [Python] flask運(yùn)行+wsgi切換生產(chǎn)環(huán)境+supervisor配置指南

    [Python] flask運(yùn)行+wsgi切換生產(chǎn)環(huán)境+supervisor配置指南

    flask項(xiàng)目本地啟動(dòng)時(shí),控制臺(tái)會(huì)打印如下warning 翻譯成 人話就是,“我這個(gè)環(huán)境就是你開(kāi)發(fā)時(shí)用,實(shí)際生產(chǎn)的時(shí)候可別找我,出事我不負(fù)責(zé)?!?好家伙呀。 但是他指了另外一條路: Use a production WSGI server 。 依然還是帶著問(wèn)題學(xué)習(xí),從本篇文章可以了解如下內(nèi)容 flask本身自帶

    2024年02月03日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包