1. gunicorn
编写配置文件
# 并行工作进程数
workers = 3
# 使用gevent模式,还可以使用sync 模式,默认的是sync模式
worker_class = 'gevent'
# 指定每个工作者的线程数
threads = 3
# 监听内网端口5000
bind = '127.0.0.1:5000'
# 设置守护进程,将进程交给supervisor管理
daemon = 'true'
# 设置最大并发量
worker_connections = 2000
# 超时配置
timeout=180
# 设置访问日志和错误信息日志路径
accesslog = '/var/log/gunicorn_acess.log'
errorlog = '/var/log/gunicorn_error.log'
# 设置日志记录水平
loglevel = 'warning'
2. celery
启动时一定要指定日志文件
# celery 基本用法 使用 celery worker -h 自行了解
celery -A app.tasks worker -c 3 --loglevel=info --logfile=/var/www/afaf/run.log
3. supervisor
部署管理进程
4. supervisor
配置
- 跳过安装
- 一定要先看
supervisor
配置文件(自己就被坑过),主要看supervisor.conf
下边内容
# 注意看引入配置文件后缀
# 曾经我就在这被坑过,习惯行的装好supervisor后,就在conf.d下新建xxx.conf配置文件,然而启动的时候怎么都不生效
[include]
files = /etc/supervisor/conf.d/*.ini
aaa.conf
内容如下
[program:flask-wisdomtree]
process_name=%(program_name)s_%(process_num)02d
command=/var/www/aaa/run.sh
stdout_logfile=/var/www/aaa/run.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
user=nginx
numprocs=3
directory=/var/www/aaa
autostart=true
autorestart=true
redirect_stderr=true
5. 启动supervisor
后,监听日志文件没错误就是成功了(supervisor、gunicorn、celery的日志)
# 开启supervisor 服务
service supervisor start
# 更新配项目置文件
supervisorctl reread
# 生效
supervisorctl reread
# 其余命令自己看文档