【Flask】線上部署

Tony_xiao發表於2024-10-21
  • 1.基本流程
1.本地開發專案
2.git將程式碼提交“倉庫”
3.伺服器獲取程式碼
4.建立虛擬環境 + 啟用 + 安裝第3方模組
5.uwsgi -> 基於uwsgi啟動Flask程式 9001
6.nginx + 配置
7.其他
    - 啟動指令碼
    - 關閉指令碼
  • 2.第一步到第二步就不綴敘了,直接上程式碼倉庫地址

    • https://gitee.com/xiao-wenliang/web_flash.git
  • 3.伺服器獲取程式碼

    • 3.1:連線伺服器
    • 3.2:獲取程式碼
      • 跟目錄下新建data資料夾
      • 克隆程式碼到data中
  • 4.建立虛擬環境 + 啟用 + 安裝第3方模組

    • 4.1:建立虛擬環境
      • 安裝虛擬環境模組:pip3.9 install virtualenv
      • virtualenv /envs/web_flask --python=python3.9
      • 注:安裝過程中,提示安裝成功,但是無法使用virtualenv,透過反覆解除安裝安裝,發現安裝後有如下報錯
      • 解決方法:
        • echo 'export PATH=/home/xxx/bin:$PATH' >>~/.bashrc ,/home/xxx/bin,安裝後警告的路徑
        • source ~/.bashrc
        • 再次解除安裝安裝即可
    • 4.2:啟用,source /envs/web_flask/bin/activate
    • 4.3:安裝第三方模組,pip install -r requirements.txt
  • 5.ewsgi啟動與配置

    • 5.1:安裝uwsgi模組,pip3.9 install uwsgi
    • 5.2:透過uwsgi啟動
      • 5.2.1:專案跟目錄下建立ini配置檔案
# nb_uwsgi.ini

[uwsgi]
socket = 0.0.0.0:9001
chdir = /data/web_flask
wsgi-file = app.py
callable = app
processes = 1
virtualenv = /envs/web_flask/
  • 5.2.2:啟動方式
    • 1.基於虛擬環境
source /envs/web_flask/bin/activate
uwsgi --ini  nb_uwsgi.ini
- 2.絕對路徑
/envs/web_flask/bin/uwsgi --ini  nb_uwsgi.ini
- 3.啟動之後,如果終端關閉就會停掉,怎麼後臺執行與手段關閉呢?
# 後臺執行
/envs/s9_flask_deploy/bin/uwsgi --ini  nb_uwsgi.ini &

# 手動殺掉
ps -ef|grep nb_uwsgi
kill -9 程序ID
- 4.配置檔案,自動重啟與關閉
# 重啟
#!/usr/bin/env bash

echo -e "\033[34m--------------------wsgi process--------------------\033[0m"
ps -ef|grep nb_uwsgi.ini | grep -v grep
sleep 0.5
echo -e '\n--------------------going to close--------------------'
ps -ef |grep nb_uwsgi.ini | grep -v grep | awk '{print $2}' | xargs kill -9
sleep 0.5
echo -e '\n----------check if the kill action is correct----------'
/envs/web_flask/bin/uwsgi  --ini nb_uwsgi.ini &  >/dev/null
echo -e '\n\033[42;1m----------------------started...----------------------\033[0m'
sleep 1
ps -ef |grep nb_uwsgi.ini | grep -v grep
- 5.伺服器中執行
  - 5.1:賦予可執行許可權
  - 5.2:執行

  • 6.nginx + 配置
    • 6.1:安裝nginx,yum install nginx -y
    • 6.2.修改配置檔案
      • 安裝完之後,在/etc/nginx/下有個nginx.conf的配置檔案

      • 修改,配置檔案內容比較多,我們一般將原檔案重新命名,重新新建一個,內容參考專案根目錄下的nginx.conf

      • 啟動關閉nginx

# 啟動
systemctl start nginx
systemctl stop nginx

# 開機啟動
systemctl enable nginx
  • 7.開放埠

  • 8.至此,flask部署完畢,執行過程中可能存在各種各樣的問題,問度娘吧。。。。

相關文章