进程管理工具supervisor

xiaoxiao2025-07-12  6

1.进程管理工具的安装:

sudo pip  install supervisor

2.创建配置文件:

切换到home文件下创建 自定义配置文件:my_supervisor.conf,然后执行echo_supervisord_conf > ./my_supervisor.conf

3.切换到home路径下创建自定义配置文件夹:

mkdir /home/user/supervisor

mkdir /home/user/log

4.对创建的默认的配置文件进行修改

[unix_http_server] file=/tmp/supervisor.sock; (the path to the socket file) 修改为 /home/user/supervisor 目录,上面自己创建的目录,避免被系统删除. file=/home/user/supervisor/supervisor.sock; (the path to the socket file) 把下面4行前面的注释符;去掉,这样就可以开启web页面来管理supervisor [inet_http_server] ; inet (TCP) server disabled by default port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for ;alliface) username=user ; (default is no username (open server)) password=123 ; (default is no password (open server)) .... [supervisord] logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log) 修改为 /home/user/log 目录,上面自己创建的目录,避免被系统删除 logfile=/home/user/log/supervisord.log; (main log file;default $CWD/supervisord.log) 日志文件多大时进行分割 logfile_maxbytes=50MB; (max main logfile bytes b4 rotation;default 50MB) 最多保留多少份日志文件 logfile_backups=10; (num of main logfile rotation backups;default 10) 日志记录等级 loglevel=info; (log level;default info; others: debug,warn,trace) pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid) 修改为 /home/user/supervisor 目录,自定义目录,避免被系统删除 pidfile=/home/user/supervisor/supervisord.pid; (supervisord pidfile;default supervisord.pid) ... [supervisorctl] 必须和unix_http_server里面的设定匹配 serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket 修改为 /home/user/supervisor 目录,自定义目录避免被系统删除 serverurl=unix:///home/user/supervisor/supervisor.sock ; use a unix:// URL for a unix socket 要开启web页面来管理supervisor必须把下面3行前面的注释符;去掉 而且username要与上面的[inet_http_server]设置一致 serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket username=user; should be same as http_username if set password=123; should be same as http_password if set ...

进程的配置样例

设置进程的名称,使用 supervisorctl来管理进程时需要使用该进程名 app(自定义名称) [program:app] command=python app.py; 指定路径版 command=python /home/user/app.py ;numprocs=1; 默认为1 把;去掉可修改 ;process_name=%(program_name)s ; 默认为 %(program_name)s,即 [program:x] 中的 x directory=/home/user ; 执行 command 之前,先切换到工作目录 程序崩溃时自动重启,重启次数是有限制的,默认为3次 autorestart=true redirect_stderr=true ; 重定向输出的日志 stdout_logfile = /home/log/app.log ; 必须先创建这个日志文件再指定 loglevel=info ; 日志等级

启动 supervisord

使用自定义的配置文件 /home/user/my.conf supervisord -c ./my_supervisor.conf 上面命令成功以后,输入 supervisorclt 会提示输入用户名和密码输入默认的即可

supervisorctl 命令介绍

查看进程运行状态 supervisorctl status 停止某一个进程,program_name 为 [program:x] 里的 x即自定义的名称 supervisorctl stop program_name 启动某个进程 supervisorctl start program_name 重启某个进程 supervisorctl restart program_name 结束所有属于名为 groupworker 这个分组的进程 (start,restart 同理) supervisorctl stop groupworker: 结束 groupworker:name1 这个进程 (start,restart 同理) supervisorctl stop groupworker:name1 停止全部进程,注:start、restart、stop 都不会载入最新的配置文件 supervisorctl stop all 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程 supervisorctl reload 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启 supervisorctl update
转载请注明原文地址: https://www.6miu.com/read-5032955.html

最新回复(0)