在ubuntu上通過nginx + uwsgi 執行 flask
阿新 • • 發佈:2021-12-14
安裝nginx:
apt-get install nginx #如果是使用本機安裝測試,由於預設不是最高許可權使用以下命令即可: sudo apt-get install nginx
安裝uwsgi:
pip install uwsgi #檢視是否安裝成功 uwsgi --version
配置nginx:
cd /etc/nginx/conf.d vim conf_name.conf <建立一個配置檔案,名字隨便起> #如果沒有許可權 切記: sudo vim conf_name.conf
nginx配置內容:
server { listen 80; #監聽伺服器的80埠server_name 127.0.0.1; #你的域名,前提是你要將你的域名解析到你的伺服器的ip地址 charset utf-8; location / { include /etc/nginx/uwsgi_params; #新增uwsgi引數 uwsgi_pass 127.0.0.1:5000; #你的Flask應用執行埠,和上面的對應 } }
# *注:公司的伺服器可能需要對外開放 80 端口才能實現本地遠端訪問
配置uwsgi:
[uwsgi] # socket = 127.0.0.1:5000 #如果要改埠,記得和上面nginx配置的uwsgi_pass 埠一定要一致socket = 0.0.0.0:5000 #監控公網 ;將Flask應用執行在這個埠 master = true wsgi-file = main_app.py # flask專案的檔名字 ;後端檔名稱 callable = app ;設定在收到請求時,uWSGI載入的模組中哪個變數將被呼叫,預設是名字為“application”的變數。即是: app = Flask(__name__) processes = 4 threads = 2 daemonize = server.log ;日誌儲存檔名稱 【位置預設在app.ini 目錄下】
啟動Nginx
# 如果以及啟動可以直接重啟 service nginx start #啟動nginx #或則 service nginx restart 重啟nginx
啟動uwsgi
#通過uwsgi配置檔案啟動 flask uwsgi <自己命名的寫好uwsgi配置的檔名>.ini 或者 uwsgi -d --ini test.ini # <自己命名的寫好uwsgi配置的檔名>.ini # 結束程序任務 sudo pkill -f uwsgi -9 #檢視程序 ps aux | grep uwsgi