gunicorn + gevent + centos腾讯云部署项目
Django、Flask都自带wsgi服务器,但性能都不好,是单进程单线程的
gunicorn :有几个核,就启动几个worker,多个进程同时处理http请求
gunicorn + gevent 多进程,高并发
pip install gunicorn pip install gevent
-----------------------------------------------------------------------------2
#------------ 这个只能在linux上部署,window运行会报错
# centos腾讯云部署步骤: python3 -v检查, 没安装要安装,sudo yum install -y python
# 1 要使用python3,而不是python 2 创建虚拟环境python3 -m venv myvenv 3 使用虚拟环境source myvenv/bin/activate 4 进入虚拟环境后,可以直接使用 python 或 pip ,不用加3
# 5 在腾讯云找到管理规则,检查自己的端口是否在里面,才能通行 6 把需要执行的文件,比如:hello16.py 和 gunicorn_config.py 进行复制过去,
#然后 输入前要确定在虚拟环境 gunicorn -c gunicorn_config.py hello16:app
hello16是文件名
- app :脚本中创建的Flask对象名
# 7 最后直接'x' 关闭腾讯的端口,不要用ctrl+c,就能后台运行了
#
# 查看是否启动成功
# top c #就可以看到进程的活动信息
# 或者查看进程:
# ps -ef |grep gunicorn
# 关闭服务 kill -9 进程号
-------------------------------------------------------3
设置配置文件:gunicorn_config.py
# 多进程高并发
# gunicorn+gevent 的配置文件
# 预加载资源
preload_app = True
# 绑定 ip + 端口 这个地方的ip和端口要和 flask文件一致 这样就能按照这个ip和端口访问到
bind = "0.0.0.0:8000"
# 进程数
workers = 10
# 线程数 = 进程数 * 2
threads = 2
#设置守护进程,将进程交给supervisor管理 他可以守护 执行的py文件,挂了能自动重启
daemon = 'true'
# 等待队列最大长度,超过这个长度的链接将被拒绝连接
backlog = 2048
# 工作模式--协程
worker_class = "gevent"
# 最大客户客户端并发数量
worker_connections = 1200
# 进程名称
proc_name = 'gunicorn.pid'
# 进程pid记录文件
pidfile = 'app_run.log'
# 日志等级
loglevel = 'debug'
# 日志文件名
logfile = 'debug.log'
# 访问记录
accesslog = 'access.log'
----------------------------------------------------------
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!