supervisor 安装与使用
supervisor 安装与使用
- 
下载 sudo apt-get install supervisor
- 
在 /etc/supervisor/conf.d/下新建xx.confsudo touch celery_req.conf
- 
编辑配置信息 [program:celery_req] # 项目目录 directory=/home/ubuntu/cache-task/ # 执行命令 command=/home/ubuntu/.local/share/virtualenvs/ubuntu-7Wf190Ea/bin/celery -A celery_tasks.tasks.req worker -l info # 子进程启动N秒后,如果状态为running,则认为启动成功 startsecs=1 # 哪个用户执行 user = ubuntu # 随着supervisord启动,也一并启动。 autostart=true # 日志输出 stderr_logfile=/home/ubuntu/cache-task/logs/req_stderr.log stdout_logfile=/home/ubuntu/cache-task/logs/req_stdout.log #把stderr重定向到stdout,默认 false redirect_stderr = true #stdout日志文件大小,默认 50MB stdout_logfile_maxbytes = 20MB #stdout日志文件备份数 stdout_logfile_backups = 20 [program:celery_cron] # 项目目录 directory=/home/ubuntu/cache-task/ # 执行命令 command=/home/ubuntu/.local/share/virtualenvs/ubuntu-7Wf190Ea/bin/celery -A celery_tasks.tasks.cron worker -l info # 子进程启动N秒后,如果状态为running,则认为启动成功 startsecs=1 # 哪个用户执行 user = ubuntu # 随着supervisord启动,也一并启动。 autostart=true # 日志输出 stderr_logfile=/home/ubuntu/cache-task/logs/cron_stderr.log stdout_logfile=/home/ubuntu/cache-task/logs/cron_stdout.log [program:celery_cron_beat] # 项目目录 directory=/home/ubuntu/cache-task/ # 执行命令 command=/home/ubuntu/.local/share/virtualenvs/ubuntu-7Wf190Ea/bin/celery -A celery_tasks.tasks.cron beat # 子进程启动N秒后,如果状态为running,则认为启动成功 startsecs=1 # 哪个用户执行 user = ubuntu # 随着supervisord启动,也一并启动。 autostart=true # 日志输出 stderr_logfile=/home/ubuntu/cache-task/logs/cron_beat_stderr.log stdout_logfile=/home/ubuntu/cache-task/logs/cron_beat_stdout.log
- 
启动 supervisordsudo supervisord -c /etc/supervisor/supervisord.conf
- 
查看是否启动 sudo supervisorctl
- 
添加新的配置文件 这里不要写 daemonize日志输出 ,这会和supervisor会起冲突。# uwsgi 配置文件 [uwsgi] # 配合nginx使用 http = 127.0.0.1:5000 # 项目路径 chdir = /home/ubuntu/cache-task # 启动模块 module = main:app # 指定工作进程 processes = 4 # 主进程 master = true # 每个工作进程有2个线程 threads = 2 # 保存主进程的进程号,要写绝对路径 pidfile = uwsgi.pid #虚拟环境环境路径 virtualenv = /home/ubuntu/.local/share/virtualenvs/ubuntu-7Wf190Ea这里是 supervisor关于uwsgi.conf的文件。# supervisor 关于uwsgi的配置文件 /etc/supervisor/conf.d/uwsgi.conf [program:uwsgi] # 项目目录 directory=/home/ubuntu/cache-task/ # 执行命令 command=/home/ubuntu/.local/share/virtualenvs/ubuntu-7Wf190Ea/bin/uwsgi --ini uwsgi.ini # 子进程启动N秒后,如果状态为running,则认为启动成功 startsecs=5 # 哪个用户执行 user=ubuntu # 随着supervisord启动,也一并启动。 autostart=true # 日志输出 stderr_logfile=/home/ubuntu/cache-task/logs/uwsgi_stderr.log stdout_logfile=/home/ubuntu/cache-task/logs/uwsgi_stdout.log
- 
平滑启动 # 1. 启动 supervisor 客户端 sudo supervisorctl # 2. 读取新添加的配置文件 reread # 3. 更新配置文件 update # 4. 启动新的配置、进程名为 [program:uwsgi] 中的冒号后面自定义的部分 start 进程名 # 5. 查看状态 status
- 
如果你需要读取系统变量的话,那么需要在原有的配置基础上添加 environment# 一个变量 environment=k1=v1 # 多个变量 environment=k1=v1,k2=v2 # 或者 environment= k1=v1 k2=v2

 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号