supervisor + gunicorn 配置superset
程序员文章站
2024-03-12 11:18:02
...
文章目录
在生产环境上直接跑一个py文件,感觉不太好,还是用 supervisor + gunicorn 部署一下放心
环境
- system
CentOS 7.4.1708
- python
Python 3.6.8
- superset
superset 0.36
gunicorn
Gunicorn 是python中的WSGI容器,pre-fork worker模式,优点就是配置简单,轻量级的资源消耗,以及高性能。
友情提示:多看官方文档
大概简单介绍一下我使用到的几个配置
- 1、worker
建议的 workers 数量是 (2*CPU)+1。
--workers=5 或者 -w 5
- 2、worker_class
gevent的模式
-k gevent
- 3、守护进程
-D 或者 --daemon
- 4、输出
--access-logfile FILE
--error-logfile FILE,
--log-file FILE
- 最终的命令
gunicorn -D -w 10 -k gevent -b 0.0.0.0:8085 --access-logfile=success.log --error-logfile=error.log "superset.app:create_app()"
supervisor
- 安装
1. 安装:yum install supervisor
2、启动:systemctl start supervisord
3、开机启动: systemctl enable supervisord
常用的几个命令
1、supervisorctl status // 查看监控的项目
2、supervisorctl start xxx
3、supervisorctl stop xxx
4、supervisorctl restart xxx
5、supervisorctl reload // 重新加载配置文件
安装之后 会在 /etc/目录下 生成 supervisord.conf 文件 和 supervisord.d 文件夹
- 配置
1、xxx 是项目的名字
2、commad 第一个是 虚拟环境的路径
注意:需要安装 gevent (pip install gevent)
3、directory: 项目的路径
4、下面的配置信息 可以放2个地方都可以
第一:supervisord.conf 文件中,文件末尾
第二:supervisord.d 新建 xxx.ini 文件 (supervisord.conf 文件末尾include 包含就可以)
注意 gunicorn 不要守护进程配置supervisor, 不然不起作用,supervisor 控制不了
[program:xxxxx]
command=/home/xxx/venv/bin/gunicorn -w 10 -k gevent -b 0.0.0.0:8085 --access-logfile=success.log --error-logfile=error.log superset.app:create_app()
directory=/home/xxxx
autostart=true
autorestart=true
stderr_logfile=/home/xxx/log/stderr.log
stdout_logfile=/home/xxx/log/stdout.log
user=root
结束语
1、先简单介绍一下怎么配置, 后续可能会写 supervisor 和gunicorn 的工作原理
2、下次会写 superset 上怎么监控指标已经通知
推荐阅读
-
supervisor + gunicorn 配置superset
-
CentOS 6.6安装配置supervisor进程管理工具 博客分类: linux
-
CentOS 6.6安装配置supervisor进程管理工具 博客分类: linux
-
Linux进程管理工具supervisor安装配置教程
-
在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
-
在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
-
Linux中的进程守护supervisor安装配置及使用
-
Mac下Supervisor进程监控管理工具的安装与配置
-
Linux下进程管理工具Supervisor的安装配置和基本使用
-
详解Supervisor安装与配置(Linux/Unix进程管理工具)