linux 部署flask项目
创始人
2024-12-08 22:36:27
0

linux python环境安装:  https://blog.csdn.net/weixin_41934979/article/details/140528410

1.创建虚拟环境

python3.12 -m venv .venv

2.激活环境

 . .venv/bin/activate

 3.安装依赖包(pip3.12 install -r requirements.txt)

pip3.12 install -r requirements.txt

4.测试启动项目

python3.12 app.py

5.在虚拟环境中安装gunicorn

pip install gunicorn

6.安装配置Supervisor

6.1安装Supervisor

CentOS

首先,安装 EPEL 扩展源(如果尚未安装):

sudo yum install epel-release 

 然后,使用 yum 命令安装 Supervisor:

sudo yum install supervisor

Ubuntu 

sudo apt install supervisor

查看版本,确认supervisor是否成功安装

supervisord --version
6.2配置supervisor

查看supervisor的配置

注意不同版本的Linux系统,不同版本supervisor,配置文件路径可能不同

CentOS

cat /etc/supervisord.conf

主要配置代码如下(主要看[include]下的文件路径):

; The [include] section can just contain the "files" setting.  This ; setting can list multiple files (separated by whitespace or ; newlines).  It can also contain wildcards.  The filenames are ; interpreted as relative to this file.  Included files *cannot* ; include files themselves.  [include] files = supervisord.d/*.ini

Ubuntu

cat /etc/supervisor/supervisord.conf
; The [include] section can just contain the "files" setting.  This ; setting can list multiple files (separated by whitespace or ; newlines).  It can also contain wildcards.  The filenames are ; interpreted as relative to this file.  Included files *cannot* ; include files themselves.  [include] files = /etc/supervisor/conf.d/*.conf 

创建.ini配置文件或者.conf配置文件(具体要看[include]下面路径是*.ini,还是*.conf),

文件要放进  [include]下的文件路径里

这里以Ubuntu为例

再次提醒.conf配置文件,文件要放进:[include]下的文件路径里,

放进/etc/supervisor/conf.d路径里

创建文件flaskapi.conf配置文件

 vi /etc/supervisor/conf.d/flaskapi.conf

内容如下:

[program:flaskapi] ; :右边是项目名称 command=/bin/bash -c ". .venv/bin/activate&&nohup python -m gunicorn -D -w 4 -b 0.0.0.0:8011 -t 120 app:app --access-logfile access.log --error-logfile error.log" ; 启动虚拟环境下的gunicorn,这里建议使用绝对路径 directory=/usr/projects/flask-api ; 程序的启动目录,这里是Flask网站根目录 user=root ; 用户名 autostart=true ; 在 supervisord 启动的时候也自动启动 autorestart=true ; 程序异常退出后自动重启 stopasgroup=true ; 它表示当该进程停止时,与该进程属于同一组的所有相关进程也会同时停止 killasgroup=true ; "杀死"整个组的进程 loglevel=info ; 日志级别设置为“信息”级别
6.3更新配置文件
supervisorctl update

启动supervisor服务 

 systemctl enable supervisor

查看服务状态 

systemctl status supervisor.service

7.curl测试是否能访问接口

curl http://localhost:8011/ -w '\n'

成功访问 

8.重启服务器flask是否开机自启 

重启后再次访问接口

curl http://localhost:8011/ -w '\n'

服务开机自启成功 

 

参考资料

https://blog.csdn.net/qq_39680564/article/details/102739143 

相关内容

热门资讯

四分钟操作!鄱阳翻精辅助软件,... 四分钟操作!鄱阳翻精辅助软件,新悠悠手游辅助(辅助)确实有挂脚本(哔哩哔哩)1、玩家可以在鄱阳翻精辅...
7分钟大纲!新海贝之城脚本,新... 7分钟大纲!新海贝之城脚本,新挑战辅助脚本(辅助)确实真的是有app(哔哩哔哩);1、新海贝之城脚本...
两分钟经验!雀神麻雀充运势用吗... 两分钟经验!雀神麻雀充运势用吗,新八戒辅助(辅助)其实有挂修改器(哔哩哔哩)1、该软件可以轻松地帮助...
第6分钟法门!牌乐门安全黑科技... 第6分钟法门!牌乐门安全黑科技是真的吗,财神13章作必弊码大全(辅助)竟然有挂脚本(哔哩哔哩)牌乐门...
两分钟总结!陕麻圈辅助器怎么安... 两分钟总结!陕麻圈辅助器怎么安装,三哥玩辅助器(辅助)切实是有辅助器(哔哩哔哩)运陕麻圈辅助器怎么安...
六分钟方针!潮汕激k辅助,新九... 六分钟方针!潮汕激k辅助,新九哥脚本(辅助)都是存在有app(哔哩哔哩)潮汕激k辅助是不是有人用挂微...
9分钟资料!花花生活圈怎么挂辅... 9分钟资料!花花生活圈怎么挂辅助,新星游拼十辅助(辅助)一贯是真的下载(哔哩哔哩)运花花生活圈怎么挂...
6分钟学习!小程序微乐陕西挖坑... 6分钟学习!小程序微乐陕西挖坑辅助,金虎爷辅助器(辅助)一贯真的有辅助器(哔哩哔哩)1、玩家可以在小...
九分钟教材!天天微友辅助器通用... 九分钟教材!天天微友辅助器通用版,久久大厅挂价格(辅助)果然存在有平台(哔哩哔哩)一、天天微友辅助器...
5分钟模块!微信小程序透视微乐... 5分钟模块!微信小程序透视微乐辅助器免费安装,财神十三张安装工具(辅助)一直是有安装(哔哩哔哩)1)...