C/C++教程

gunicorn部署flask

本文主要是介绍gunicorn部署flask,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

二零二一年十一月七日

使用gunicorn服务进行项目部署

gunicorn.conf.py

# 导入获取cpu核数的包
import multiprocessing
# 导入获取本地计算机名称的包
import getpass
# 指定运行的worlers个数
workers = mutiprocessing.cpu_count * 2 + 1
# 获取本地的用户名(也就是本地电脑的名称)
local_host_name = getpass.getuser()4
绑定的端口号
bing = '0.0.0.0:1234'
# 是否是守护
daemon = False
# 如果是本地启动 而不是服务器启动就需要运用下面的端口
if local_host_name = "JW"
	bing = "0.0.0.0:1111"
backlog = 2048
worker_connections = 1000
debug = False
pinfile = "./gunicorn.pid"
errorlog = './gunicorn.log'
threads = 2

启动命令
gunicorn -c guniconr.conf.py manage:app

# 一般来说 flask主要入口文件名称就是manage  如果是别的名称的话就需要改成对应的名称 
 而app则是flask实例化的对象
一般使用flask框架的时候有时候我们会用 flask的脚手架 下面这个包
from flask_script  import Manage

# 但是gunicorn代理的确实flask本身实例化的app也就是你的实例化的对象 如果使用manage里面的flask启动方式就会报错
所以切记启动项目的时候需要使用flask本身的run方法去启动 要不然就会报错

# 还有第二个点! 有些人使用gunicorn的时候用 supervisord 去代理flask启动的项目  也就是检测
当然有些人还用的就是 celery 一起监控 如果异常退出 那么supercisord就会监控这些项目做出一些相应的处理

但我的项目跑在了docker上面 docker有自己的监控 和supercisord是一样的  有异常退出 那么自动重启
如果docket 部署的时候 daemon 必须关上 因为docker 里面必须有前台一直运行的程序 否则docker认为没有程序可运行
这篇关于gunicorn部署flask的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!