04.03 圖解CentOS7下nginx+uwsgi+Flask 環境的快速配置(基於python3)

圖解CentOS7下nginx+uwsgi+flask 環境搭建

按很簡單,重點是配置。。。 。。。

一、安裝nginx

具體操作請參考本頭條號中《圖解在CentOS7配置nginx服務(支持多域名,禁IP直訪,防惡意解析)》一文

安裝完畢後能夠直接支持靜態網頁訪問,今天安裝的uwsgi和flask是提供基於python的 動態網頁實現。

二、安裝python3

CentOS7下默認使用的是python2,似乎現在用python3才是主流了,因此請安裝python3。

具體操作請參考本頭條號中《在終端命令行下為CentOS7安裝Python3(系統自帶的是Python2)》一文

安裝完畢後,2、3兩個版本並存,互不干擾。執行python3和pip3的時候使用的是版本3。

三、安裝uwsgi和flask

pip3 install flask

pip3 install uwsgi

兩條命令搞定

四、【重點】配置文件修改

1、定義一個uwsgi的ini文件,該文件負責定義出uwsgi對外工作端口,並指定Flask項目的程序代碼及app對象,

命令行啟動

uwsgi --ini /root/配置.ini

2、nginx配置中,定義一個服務,將yiuwsgi_pass 指向 uwsgi對外工作端口

圖解CentOS7下nginx+uwsgi+Flask 環境的快速配置(基於python3)

具體配置參考

1、nginx中的配置 參考

server {

listen 80 ;

server_name 你的域名;

root /工作目錄;

include /etc/nginx/default.d/*.conf;

location / {

include uwsgi_params;

uwsgi_pass 127.0.0.1:5051;

}

error_page 404 /404.html;

location = /40x.html {

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

}

}

注意其中5051是指向uwsgi的端口,具體值由uwsgi配置文件內設置。兩處配置中端口需要一致。

2、uwsgi配置文件參考

[uwsgi]

#uwsgi的客戶端將要連接的socket

socket = 127.0.0.1:5051

#載入文件

wsgi-file = /root/1111.py

callable = app

#為預先派生模式設置工作進程的數量

processes = 4

threads = 2

daemonize = /root/server.log

其中socket定義了uwsgi的對外端口,nginx通過該端口與之通訊。

五、測試實錄

準備一段測試代碼

圖解CentOS7下nginx+uwsgi+Flask 環境的快速配置(基於python3)

from flask import Flask

app = Flask(__name__)

@app.route("/")

def hello():

return "這是一個Flask程序!"

if __name__ == "__main__":

app.run()

將代碼放在/root目錄下備用

同時在/root目錄下創建uwsgi配置文件 demo1.ini

圖解CentOS7下nginx+uwsgi+Flask 環境的快速配置(基於python3)

[uwsgi]

#uwsgi的客戶端將要連接的socket

socket = 127.0.0.1:5051

#載入文件

wsgi-file = /root/1111.py

callable = app

#為預先派生模式設置工作進程的數量

processes = 4

threads = 2

daemonize = /root/server.log

最後修改nginx的配置文件,文件為 /etc/nginx/nginx.conf

圖解CentOS7下nginx+uwsgi+Flask 環境的快速配置(基於python3)

server {

listen 80 ;

server_name www.pianyixing.com;

root /root;

include /etc/nginx/default.d/*.conf;

location / {

include uwsgi_params;

uwsgi_pass 127.0.0.1:5051;

}

error_page 404 /404.html;

location = /40x.html {

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

}

}

實際運行效果

圖解CentOS7下nginx+uwsgi+Flask 環境的快速配置(基於python3)

更多的配置細節,建議您參考專門的書籍。

敬請繼續關注“有隻狗狗叫多多”,不要錯過哦!感謝您收藏、轉發。


分享到:


相關文章: