【Flask】线上部署

news/2024/10/21 23:08:36
  • 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 bashecho -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部署完毕,运行过程中可能存在各种各样的问题,问度娘吧。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/74397.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

东山Pi柒号-主板简介

东山Pi柒号-开发板 最近淘到了一块性价比还不错的开发板,东山派柒号。出自韦东山店,使用芯片STM32MP157,正好学习一下。 板子文档链接: DongshanPI Board Documentation Center. 以下是摘自该网站的一些信息: 硬件功能描述核心板规格SOC主控: STM32MP157DAC (双核CorteX …

24.10.19

A 数学题,不会。 随便取一数 \(v\),询问得到 \(t \equiv \log_g v \pmod p\)。 我们希望找到 \(x\) 使得 \(v^x \equiv g \pmod p\),即 \(g^{tx} \equiv g \pmod p \Leftrightarrow tx \equiv 1 \pmod {p-1}\)。那么只要 \(t\) 与 \(p - 1\) 互质即可求得逆元。 有原根相关知…

git安装-Tortoise git 安装汉化教程

git安装,Tortoise git安装汉化教程,代码版本管理工具1.首先下载 去官网下载 如果下载比较慢的,链接自取 https://pan.quark.cn/s/fcb9d0b39c7f 2. 安装git3. 安装git图形化工具Tortoise git4. 汉化

最新激活Navicat 15教程,附Keygen Patch

前言 大家好,我是小徐啊。navicat是一款常用的数据库连接工具,但是它本身是需要收费的,很不方便。那么,有没有免费的方式呢?今天小徐就介绍下如何激活navicat的方式,永久激活。文末附获取方式。 如何安装 首先,双击navicat的安装包,开始安装,旁边的就是激活工具,待会…

字符串json数组怎么转换成jsonobject类型

字符串数据[]怎么转换成jsonobject格式 String jsonString = "[{\"code\": \"200\", \"msg\": \"读取成功,返回数据条数\", \"data\": [{\"user_id\": \"1\", \"user_name\": \"小…

Python pickle

Python picklepickle在python中 实现对象结构的 序列化和反序列化 python序列化(Pickling)是一个将python对象层次结构转换为 可以本地储存 或者 网络传输的 字节流的过程 python反序列化(unpickling) 是将字节流还原为对象层次结构数据序列化:就是把不能直接储存的数据 储存…