【Flask】线上部署

  • 1.基本流程
1.本地开发项目
2.git将代码提交“仓库”
3.服务器获取代码
4.创建虚拟环境 + 激活 + 安装第3方模块
5.uwsgi -> 基于uwsgi启动Flask程序 9001
6.nginx + 配置
7.其他
    - 启动脚本
    - 关闭脚本
  • 2.第一步到第二步就不缀叙了,直接上代码仓库地址

  • 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部署完毕,运行过程中可能存在各种各样的问题,问度娘吧。。。。

posted @ 2024-10-21 23:00  Tony_xiao  阅读(15)  评论(0编辑  收藏  举报