python服務器環境搭建Flask,uwsgi和nginx
阿新 • • 發佈:2018-10-28
stx ng- char back soft 設置 visible void vertica
ps:如果我們要搭建多個Flask應用,只需要再寫一個
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應用,只需要再寫一個
conf
和ini
就行了
啟動
啟動uwsgi
在/var/www/myapp
目錄下啟動uwsgi:
uwsgi myapp.ini
啟動nginx
service nginx start #啟動nginx
#或則 service nginx restart 重啟nginx
完成
這時候,你在瀏覽器中輸入你的域名,就可以看到一個漂漂亮亮的網頁了
python服務器環境搭建Flask,uwsgi和nginx