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'

----------------------------------------------------------

 

posted @   Kevin0is0me  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示