flask+gunicorn+supervisor部署项目
一、安装模块
pip install gunicorn gevent
# 如果使用python supervisor,需要安装模块
pip install supervisor
# 建议使用yum安装
yum install supervisor -y
systemctl start supervisord
二、gunicorn配置文件,gunicorn.py
# -*- coding: utf8 -*-
bind = "0.0.0.0:8080"
workers = 4
threads = 2
backlog = 2048
# 设置守护进程,将进程交给python - supervisor管理 daemon 设置为true,由系统安装的supervisor管理则设置为false
daemon = 'false'
# 工作模式协程
worker_class = 'gevent'
# 设置最大并发量
worker_connections = 2000
chdir = "/app/project/api"
pythonpath = "%(chdir)"
pidfile = "logs/gunicorn.pid"
accesslog = "logs/access.log"
errorlog = "logs/error.log"
timeout = 600
debug = False
capture_output = True
reload = True
三、测试gunicorn flask对外接口manage.py
gunicorn -c gunicorn_conf.py manage:app
访问接口测试
测试完kill掉,下面用supervisor部署项目
四、生成supervisor配置文件(如果由pip安装的supervisor管理则需要以下步骤)
cd /app/project/api/
mkdir supervisor
echo_supervisord_conf > supervisor/supervisord.conf
五、配置 supervisor管理的项目配置文件
SIT [root@hmy supervisord.d]# pwd
/etc/supervisord.d
SIT [root@hmy supervisord.d]# cat ops_sys.ini
[program:ops_sys]
directory = /app/project/
command=/app/project/venv/bin/gunicorn -c sys-service/gunicorn_conf.py manage:app
user=root
autostart=true
startsecs=5
startretries=3
autorestart=true ; 程序崩溃时自动重启,重启次数是有限制的,默认为3次
redirect_stderr=true ; 重定向输出的日志
stdout_syslog=true
stdout_logfile=/app/project/supervisor/sys_stdout.log ; stdout log path, NONE for none; default AUTO
stderr_logfile=/app/project/supervisor/sys_stderr.log
stdout_logfile_backups=5
stderr_logfile_backups=5
六、启动项目
supervisorctl start all
flask+gunicorn+supervisor部署项目的更多相关文章
- CentOS 下部署Nginx+Gunicorn+Supervisor部署Flask项目
原本之前有一部分东西是在Windows Server,但是由于Gunicorn不支持Windows部署起来颇为麻烦.最近转战CentOS,折腾一段时间,终于简单部署成功.CentOS新手,作为一个总结 ...
- flask +gevent+nginx+Gunicorn+supervisor部署flask应用
上篇 可以完美部署flask ,但是视乎在结合gevent+apscheduler 实现异步非阻塞后台和定时任务的时候视乎不是那么完美.请教了前辈,决定使用flask+gevent+nginx+g ...
- flask+uwsgi+supervisor部署流程
背景: 小鱼最近搞了个工程,python用的2.7(用3也可以),后端使用的是flask,服务器用的linux,使用 flask+uwsgi+supervisor部署 ,查阅相关博客.调试.实操,已经 ...
- flask+gunicorn+nginx部署pytorch/python应用
1. 基于flask实现python服务Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 .Flask使用 ...
- Nginx+Gunicorn+Supervisor部署Flask应用
Flask 内置了简单的 Web 环境,让我们在开发的时候只需要专注于应用实现,而真正要在生产环境运行时这个简单的 Web 环境就不够用了,还需要一系列操作才能让 Web 应用高效的运行起来.现在记录 ...
- virtualenv 环境下 Nginx + Flask + Gunicorn+ Supervisor 搭建 Python Web
在这篇文章里,我们将搭建一个简单的 Web 应用,在虚拟环境中基于 Flask 框架,用 Gunicorn 做 wsgi 容器,用 Supervisor 管理进程,然后使用 Python 探针来监测应 ...
- 给我一台全新的服务器,使用nginx+gunicorn+supervisor部署django
0.准备工作 在一台全新的服务器中新建用户以及用户的工作目录,之后的操作都以这个用户的身份进行,而不是直接用root. 举个栗子: 在服务器下新建用户rinka并赋予sudo权限 1) root登陆, ...
- 2020最新nginx+gunicorn+supervisor部署基于flask开发的项目的生产环境的详细攻略
本攻略基于ubuntu1804的版本,服务器用的华为云的服务器,python3(python2已经在2020彻底停止维护了,所以转到python3是必须的)欢迎加我的QQ6398903,或QQ群讨论相 ...
- nginx+uwsgi+virtualenv+supervisor部署项目
一.导论 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收请求,处理请求,响应请求) 基于wsgi运行的 ...
- Flask + Gunicorn + Nginx 部署
最近很多朋友都在问我关于 Flask 部署的问题,说实在的我很乐意看到和回答这样的问题,至少证明了越来越多人开始用 Flask 了. 之前我曾发表过一篇在 Ubuntu 上用 uwsgi + ngin ...
随机推荐
- SSM + Freemarker 开发框架快速搭建
1.项目骨架建立 一.使用开发工具IDEA,构建Maven项目,然后调整Maven项目结构,使其成为一个标准的web项目: 此处不选择Maven骨架,直接Next: 输入项目的相关信息,直接Finis ...
- HarmonyOS NEXT未成年人模式无缝联动所有应用,过滤非适龄内容
背景 随着消费电子产品和移动互联网的普及,未成年人互联网普及率96.8%,超过80%的未成年人都拥有自己的上网设备,而如何引导孩子正确上网一直是家长们的担忧.市场上很多电子设备.系统推出了一些未成年人 ...
- Unable to tunnel through proxy. Proxy returns "HTTP/1.1 503 Service Unavailable"
背景: 某日,一正常项目迁移到新的服务器 新的服务器,需要使用代理来访问之前能直接访问的接口,加完代理之后,发现无法获取数据了 报错: org.springframework.web.client.R ...
- 淘宝订单信息获取接口,淘宝开放平台R2权限,淘宝开放平台订单获取接口
目前淘宝开放平台是关闭了订单权限申请的,有这方便的需求的人,除非是天猫用户才能申请(天猫用户申请到只能给自己天猫店授权),否则是申请不到这个订单接口了,如果有这方面需要的人可以联系我,站内信留下QQ或 ...
- 【YashanDB知识库】离线升级一章22.2不支持直接升级到23.1
[标题]离线升级一章22.2不支持直接升级到23.1 [问题分类]文档问题 [关键词]YashanDB, 离线升级, 版本兼容 [问题描述]文档中提到22.2版本不支持直接升级到23.1. [问题原因 ...
- C++: 智能指针的自定义删除器 `Custom Deleter` 有什么用?
C++11智能指针std::shared_ptr和std::unique_ptr都支持自定义删除器,本文将介绍自定义删除器的使用场景和使用方法.智能指针模板参数的第二个类型是删除器,一般是一个函数指针 ...
- 小tips:docker 配置国内镜像地址
在配置文件daemon.json中添加国内镜像,让其下载加速. vi /etc/docker/daemon.json 如下国内镜像: { "registry-mirrors": [ ...
- DOM & BOM – 大杂烩
Document.scrollingElement 参考: why to use 'html, body' for scrollTop instead of just 'html' MDN 使用doc ...
- 微信js-sdk接入原理
1.有一个微信公众号,并获取到该公众号的AppID和AppSecret. 其中AppID是可以对外公开的,AppSecret是该公众号的密钥,是需要绝对保密的 2.向微信服务器发送一个GET请求,获取 ...
- HarmonyOS ArkTS基础语法
前提:安装开发工具 教程:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/tools_overview-0 ...