supervisor使用指南
目录
- 安装和配置
- 常用命令介绍
- 关闭supervisor
安装和配置
直接使用pip安装即可
sudo pip install supervisor
安装完成后,选择一个常用目录(用于存放supervisor配置信息和输出日志),此目录在下文中用<sv_path>
表示,执行:
# 在该目录下生成配置文件'my.conf'
cd <sv_path>
echo_supervisord_conf > ./my.conf
在<sv_path>
下创建两个文件夹,分别为supervisor
和log
(此名称随便起),前者用于存放supervisor.sock
和supervisor.pid
,后者用于存放进程的日志:
cd <sv_path>
mkdir supervisor
mkdir log
然后,使用vim打开my.conf
文件(该文件中,分号是注释,为了简洁,就不展示注释掉的语句了),进行修改:
[unix_http_server]
; 这里修改为前面建立的路径
file=<sv_path>/supervisor/supervisor.sock ; the path to the socket file[inet_http_server] ; inet (TCP) server disabled by default
port=127.0.0.1:9001 ; ip_address:port specifier, *:port for all iface[supervisord]
; 这里修改为前面建立的路径
logfile=<sv_path>/log/supervisord.log ; main log file; default $CWD/supervisord.log
logfile_maxbytes=50MB ; max main logfile bytes b4 rotation; default 50MB
logfile_backups=10 ; # of main logfile backups; 0 means none, default 10
loglevel=info ; log level; default info; others: debug,warn,trace
; 这里修改为前面建立的路径
pidfile=<sv_path>/supervisor/supervisord.pid ; supervisord pidfile; default supervisord.pid
nodaemon=false ; start in foreground if true; default false
silent=false ; no logs to stdout if true; default false
minfds=1024 ; min. avail startup file descriptors; default 1024
minprocs=200 ; min. avail process descriptors;default 200[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface[supervisorctl]
; 这里修改为前面建立的路径
serverurl=unix://<sv_path>/supervisor/supervisor.sock ; use a unix:// URL for a unix socket
接下来,在my.conf
文件中,配置需要守护的进程:
; program后面的auto_connect是进程名称,可自定义
[program:auto_connect]
command=python xxx.py ; the program (relative uses PATH, can take args)
directory=<your_code_path> ; directory to cwd to before exec (def no cwd)
autostart=true ; start at supervisord start (default: true)
startretries=99999 ; max # of serial start failures when starting (default 3)
redirect_stderr=true ; redirect proc stderr to stdout (default false)
stdout_logfile=<sv_path>/log/auto_connect.log ; stdout log path, NONE for none; default AUTO[program:natapp]
; 注意,这种不在PATH里的命令,要使用绝对路径
command=<your_natapp_command_path>/natapp
autostart=true
startretries=99999
redirect_stderr=true
stdout_logfile=<sv_path>//log/natapp.log[program:frp]
command=<your_frp_command_path>/frpc -c <your_frp_ini_path>/frpc.ini
autostart=true
startretries=99999
redirect_stderr=true
stdout_logfile=<sv_path>/log/frp.log
接下来,启动supervisor即可:
# 这里的my.conf建议使用绝对路径
supervisord -c <sv_path>/my.conf
常用命令介绍
- supervisorctl update
假如改动了my.conf
,执行此命令后,会将有改动的进程重启,无改动的进程无影响 - supervisorctl reload
假如改动了my.conf
,执行此命令后,所有进程都将重启 - supervisorctl status
查看所有守护进程的运行状态 - supervisorctl start program_name
启动名为program_name
的进程 - supervisorctl restart program_name
重启名为program_name
的进程 - supervisorctl stop program_name
关闭名为program_name
的进程 - supervisorctl stop all
关闭全部进程
关闭supervisor
# 通过ps命令找到之前运行的supervisor的pid,假设为sv_pid
ps -ef | grep supervisor
kill -s 9 sv_pid
# 执行unlink命令,否则再次启动supervisor时会报错
unlink <sv_path>/supervisor/supervisor.sock
supervisor使用指南相关推荐
- python3 supervisor_python3-django+uwsgi+supervisor+nginx跳坑指南(记录)
首先运行django项目:在项目目录内: python manage.py runserver 0.0.0.0:8000 外部服务器访问:http://www.xxx.com:8000/ 可以正常运行 ...
- 《NodeJS开发指南》第五章微博实例开发总结
所有文章搬运自我的个人主页:sheilasun.me <NodeJS开发指南>这本书用来NodeJS入门真是太好了,而且书的附录部分还讲到了闭包.this等JavaScript常用特性.第 ...
- 《CCNP SWITCH 300-115认证考试指南》——1.3节模块化网络的设计
本节书摘来自异步社区<CCNP SWITCH 300-115认证考试指南>一书中的第1章,第1.3节模块化网络的设计,作者 [美]David Hucaby(戴维 胡卡比),更多章节内容可以 ...
- Xen和虚拟化技术学习指南
1. 引言 现代计算机具有足够强大的能力来利用技术支持多个虚拟机(VM: virtual machines),并且在每个虚拟机上各自运行单独的操作系统实例.这直接导致了虚拟机技术发展的又一个春天.在本 ...
- 《node.js开发指南》读后感
<node.js开发指南>这部只有180多页的书,我花了一个多月的业余时间算是粗略看完了.中间因为公司项目的加班,中断了几次.大大拖累进度,现在空出来时间,写一点自己的小小感想吧. 先从缺 ...
- 《Node.js开发指南》读书笔记
继续学学node.js.翻开书首先被惊到=.=:作者BYVoid是清华大学2010级本科--同样是2010级本科,我真是无语凝噎,大学浪费了好多时间.不过过去的已经过去了,接下来好好努力提高才好,加油 ...
- Linux 内核编程指南
Linux 内核编程指南 PeterJay Salzman MichaelBurian OriPomerantz Copyright© 2001 Peter Jay Salzman 2007−05 ...
- 七、CISSP 认证考试指南(AIO)第 7 版术语表
9.1 A 9.1.1 access 访问 主体查看.更改客体或与客体通信的能力.访问支持信息在主体和客体之间的流动. 9.1.2 access control 访问控制 限制只有被授权主体才能访问资 ...
- supervisor的使用教程
原文链接:http://blog.csdn.net/xyang81/article/details/51555473 Supervisor(http://supervisord.org/)是用Pyth ...
最新文章
- 高频数据交换下Flutter与ReactNative的对比
- 十九. Python基础(19)--异常
- linux源码编译emqttd,emqtt编译及简单测试记录
- 图解分布式架构的发展和演进 | 技术头条
- 白话算法(6) 散列表(Hash Table) 从理论到实用(下)
- css修改span位置_简历完善,CSS布局与定位,笔记
- Hadoop生态圈-Hbase的API常见操作
- 三年JAVA开发经验如何做到年薪35万
- STM32程序下载的三种方式
- canfd收不到数据_CAN FD网络的通信距离问题分析
- ubuntu16.04下安装teamview12版本
- cvtColor封装
- 微信小程序授权登陆源码
- 时间管理类APP分析:拇指时间
- 无敌2_大师级鱼丸云吞终极海鲜面
- 联想小新24/27寸一体机 酷睿版2022款评测
- 罗切斯特大学排名计算机排名,罗切斯特大学计算机工程硕士排名第35(2020年TFE Times排名)...
- redis排查读取超时、连接超时
- 鸿蒙系统手势导航,4D 成像雷达、400+TOPS 算力计算平台、鸿蒙 OS,Huawei Inside 继续放大招!...
- 微信扫码背后的图像超分辨率技术
热门文章
- PyTorch 官方教程发布,限时免费开放!
- VC++下的OpenGL编程
- 约翰霍姆金斯大学_the I-STAR Lab
- SpringBoot中的自定义路径怎么配置/根目录配置方法
- Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败
- 任务和特权级保护(一)——《x86汇编语言:从实模式到保护模式》读书笔记27
- maven生命周期lifecycle和plugins介绍
- mysql8.0限制用户只能访问指定数据库,限制用户只有某种权限
- 跳表(skipList)
- 汽车车牌识别系统实现(四)--字符识别+代码实现