這篇文章將為大家詳細(xì)講解有關(guān)使用uWSGI和Nginx怎么部署一個(gè)Flask項(xiàng)目,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供貢井企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站建設(shè)、html5、小程序制作等業(yè)務(wù)。10年已為貢井眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。uWSGI
在部署之前,我們得先了解幾個(gè)概念
wsgi web應(yīng)用程序之間的接口。它的作用就像是橋梁,連接在web服務(wù)器和web應(yīng)用框架之間。
uwsgi 是一種傳輸協(xié)議,用于定義傳輸信息的類型。
uWSGI 是實(shí)現(xiàn)了uwsgi協(xié)議WSGI的web服務(wù)器。
部署
首先準(zhǔn)備一個(gè)flask程序,名字run.py
from flask import Flask app = Flask(__name__) @app.route("/") def index(): return '部署' if __name__ == '__main__': app.run()
安裝uWSGI
pip install uwsgi
在項(xiàng)目的目錄創(chuàng)建一個(gè)uwsgi的配置文件
[uwsgi] #配合nginx使用 socket = 127.0.0.1:8000 #項(xiàng)目路徑 /Users/xiaoyuan/Desktop/flask_test chdir = 自己項(xiàng)目路徑 #wsgi文件 run就是flask啟動(dòng)文件去掉后綴名 app是run.py里面的Flask對(duì)象 module = run:app #指定工作進(jìn)程 processes = 4 #主進(jìn)程 master = true #每個(gè)工作進(jìn)程有2個(gè)線程 threads = 2 #指的后臺(tái)啟動(dòng) 日志輸出的地方 daemonize = uwsgi.log #保存主進(jìn)程的進(jìn)程號(hào) pidfile = uwsgi.pid #虛擬環(huán)境環(huán)境路徑 virtualenv = /Users/xiaoyuan/.virtualenvs/flask_test
然后配置Nginx,找到Nginx的配置文件nginx.conf,在http塊下加上下面代碼
server { # 監(jiān)聽端口 listen 80; # 監(jiān)聽ip 換成服務(wù)器公網(wǎng)IP server_name 127.0.0.1; #動(dòng)態(tài)請(qǐng)求 location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8000; } #靜態(tài)請(qǐng)求 location /static { alias /Users/xiaoyuan/Desktop/flask_test/static; } }
啟動(dòng)
啟動(dòng)uWSGI
uwsgi --ini uwsgi.ini
啟動(dòng)Nginx
/etc/init.d/nginx start
然后訪問Nginx監(jiān)聽的IP,由于我在本地部署,就直接訪問http://127.0.0.1:80/
其他命令
uwsgi重啟
uwsgi --reload uwsgi.pid
uwsgi停止
uwsgi --stop uwsgi.pid
關(guān)于使用uWSGI和Nginx怎么部署一個(gè)Flask項(xiàng)目就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。