Supervisor安装和使用

本文介绍了在Linux系统下Supervisor的部署。Supervisor是进程管理工具,能监听、启动、停止和重启进程,实现进程自动恢复。内容涵盖安装Supervisor、创建配置文件、启动Supervisor,以及使用supervisorctl管理项目等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

Supervisor 部署

Supervisor 是 Linux/Unix 系统下的一个进程管理工具。可以很方便的监听、启动、停止和重启一个或多个进程。通过 Supervisor 管理的进程,当进程意外被 Kill 时,Supervisor 会自动将它重启,可以很方便地做到进程自动恢复的目的,而无需自己编写 shell 脚本来管理进程。

安装 Supervisor

这里仅举例 CentOS 系统下的安装方式:

# 安装 epel 源,如果此前安装过,此步骤跳过
yum install -y epel-release
yum install -y supervisor  Copy to clipboardErrorCopied

创建一个配置文件

cp /etc/supervisord.conf /etc/supervisord.d/supervisord.confCopy to clipboardErrorCopied

编辑新复制出来的配置文件 /etc/supervisord.d/supervisord.conf,并在文件结尾处添加以下内容后保存文件:

# 新建一个应用并设置一个名称,这里设置为 hyperf
[program:hyperf]
# 设置命令在指定的目录内执行
directory=/var/www/hyperf/
# 这里为您要管理的项目的启动命令
command=php ./bin/hyperf.php start
# 以哪个用户来运行该进程
user=root
# supervisor 启动时自动该应用
autostart=true
# 进程退出后自动重启进程
autorestart=true
# 进程持续运行多久才认为是启动成功
startsecs=1
# 重试次数
startretries=3
# stderr 日志输出位置
stderr_logfile=/var/www/hyperf/runtime/stderr.log
# stdout 日志输出位置
stdout_logfile=/var/www/hyperf/runtime/stdout.logCopy to clipboardErrorCopied

启动 Supervisor

运行下面的命令基于配置文件启动 Supervisor 程序:

  ---启用哪个项目,下面选择哪个conf,如果启动不来找到sock文件,删除

supervisord -c /etc/supervisord.d/supervisord.confCopy to clipboardErrorCopied

使用 supervisorctl 管理项目

# 启动 hyperf 应用
supervisorctl start hyperf
# 重启 hyperf 应用
supervisorctl restart hyperf
# 停止 hyperf 应用
supervisorctl stop hyperf  
# 查看所有被管理项目运行状态
supervisorctl status
# 重新加载配置文件
supervisorctl update
# 重新启动所有程序
supervisorctl reload
Supervisor是一个客户端/服务器系统,它允许用户在类Unix操作系统上监控控制多个进程。安装配置Supervisor通常涉及以下几个步骤: 1. 安装Supervisor: - 在基于Debian的系统(如Ubuntu)上,你可以使用以下命令安装Supervisor: ``` sudo apt-get update sudo apt-get install supervisor ``` - 在基于RPM的系统(如CentOS或Fedora)上,你可以使用以下命令安装Supervisor: ``` sudo yum update sudo yum install supervisor ``` - 或者使用dnf(在Fedora或新版的CentOS上): ``` sudo dnf install supervisor ``` 2. 配置Supervisor: - 安装完成后,你需要编辑Supervisor的配置文件,这些文件通常位于`/etc/supervisor/conf.d/`目录下。你可以创建一个新的配置文件,例如`myprogram.conf`,并使用以下模板: ``` [program:myprogram] command=/path/to/your/program directory=/path/to/working/directory user=myuser autostart=true autorestart=true stderr_logfile=/var/log/myprogram.err.log stdout_logfile=/var/log/myprogram.out.log ``` 在这个配置中: - `[program:myprogram]`指定了一个名为`myprogram`的程序配置。 - `command`指定了要运行的程序的路径。 - `directory`指定了程序运行的目录。 - `user`指定了运行程序的用户。 - `autostart`设置为`true`表示Supervisor会自动启动这个程序。 - `autorestart`设置为`true`表示如果程序退出,Supervisor会自动重启它。 - `stderr_logfile``stdout_logfile`分别指定了程序的标准错误标准输出日志文件的位置。 3. 重新加载Supervisor配置: - 修改配置文件后,你需要告诉Supervisor重新加载配置,可以使用以下命令: ``` sudo supervisorctl reread sudo supervisorctl update ``` 4. 管理Supervisor管理的进程: - 使用以下命令可以启动、停止或重启Supervisor管理的进程: ``` sudo supervisorctl start myprogram sudo supervisorctl stop myprogram sudo supervisorctl restart myprogram ``` 5. 查看Supervisor的状态日志: - 你可以使用以下命令来检查Supervisor管理的进程状态: ``` sudo supervisorctl status ``` - 查看特定程序的日志,可以使用: ``` sudo tail -f /var/log/myprogram.out.log ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值