1. 程式人生 > >python服務器環境搭建Flask,uwsgi和nginx

python服務器環境搭建Flask,uwsgi和nginx

stx ng- char back soft 設置 visible void vertica

python服務器環境搭建Flask,uwsgi和nginx

環境配置 服務器配置

【部署系統環境Ubuntu

使用python的Flask框架搭建好網頁後臺後,便要開始將網站部署到服務器平臺了。為了部署python服務器,我選擇使用uwsgi和nginx。

使用Nginx和uWSGI來運行Python應用

Nginx

Nginx是高效的Web服務器和反向代理服務器,同時並發高,部署簡單,內存消耗小,最重要的是,支持uWSGI的uwsgi協議,可以直接使用,一個簡單的uwsgi_pass就可以將動態內容交給uWSGI處理。

uWSGI

至於為什麽不直接使用Flask運行程序而是uWSGI,那是因為,Flask都說明了,不要使用它來作為生產環境,那是因為,它說了,不要使用⊙﹏⊙‖∣°
技術分享圖片

安裝uwsgi和nginx

安裝uwsgi

安裝uwsgi使用簡單的pip命令即可安裝

pip install uwsgi

查看uwsgi版本

uwsgi --version

安裝Nginx

安裝Nginx使用apt-get即可

apt-get install nginx
#如果是使用本機安裝測試,由於默認不是最高權限使用以下命令即可:
sudo apt-get install nginx 

配置文件

配置uwsgi

現在服務器環境也搭建好了,那麽就要開始配置運行文件。假如此時我將python文件放在/var/www/myapp文件夾中。
配置uwsgi有很多種方式,例如直接使用命令行運行,不過我覺得將參數寫在一個文件中,再運行是最好不過的了。【其他的配置方法可以百度或則google】

首先在myapp文件夾中創建一個配置文件"myapp.ini":

[uwsgi]
socket = 127.0.0.1:6001 
;將Flask應用運行在這個端口
master = true  
wsgi-file = app.py 
;後端文件名稱
callable = app
;設置在收到請求時,uWSGI加載的模塊中哪個變量將被調用,默認是名字為“application”的變量。即是: app = Flask(__name__) 
processes = 4   
threads = 2
daemonize = server.log 
;日誌保存文件名稱 【位置默認在app.ini 目錄下】

配置nginx

/etc/nginx目錄下新建文件夾app_nginx,進入app_nginx文件,新建myapp_nginx.conf文件

server {
    listen 80;  #監聽服務器的80端口
    server_name xxx.xx; #你的域名,前提是你要將你的域名解析到你的服務器的ip地址
    charset utf-8;
    location / {
        include uwsgi_params;   #添加uwsgi參數
        uwsgi_pass 127.0.0.1:6001; #你的Flask應用運行端口,和上面的對應
    }
}

然後配置修改/etc/nginx/nginx.conf文件
在如圖所示位置【圖片中倒數第4行】添加

include /etc/nginx/app_nginx/*.conf; #將app_nginx所有配置文件導入

技術分享圖片

ps:如果我們要搭建多個Flask應用,只需要再寫一個confini就行了

啟動

啟動uwsgi

/var/www/myapp目錄下啟動uwsgi:

uwsgi myapp.ini

啟動nginx

service nginx start #啟動nginx
#或則 service nginx restart 重啟nginx

完成

這時候,你在瀏覽器中輸入你的域名,就可以看到一個漂漂亮亮的網頁了

技術分享圖片

python服務器環境搭建Flask,uwsgi和nginx