学习目标:
提示:这里可以添加学习目标
例如:
- superviosor基本使用
- supervisorctl常见问题
- supervisorctl 更新
学习内容:
例如:
1、supervisorctl 客户端命令
2、问题解决:unix:///tmp/supervisor.sock no such file
3、问题解决:unix:///var/run/supervisor.sock no such file
学习产出:
提示:这里统计学习计划的总量
开发环境
laravel-worker.ini
指令将指示监控器运行 4个
正常运行展示如下

一、supervisorctl命令
- 查看所有被管理项目运行状态
[root@iZbp18brdnpqb20dqp8093Z www]# supervisorctl status
laravel-worker:laravel-worker_00 RUNNING pid 18403, uptime 0:02:17
laravel-worker:laravel-worker_01 RUNNING pid 32718, uptime 20:31:44
laravel-worker:laravel-worker_02 RUNNING pid 32719, uptime 20:31:44
laravel-worker:laravel-worker_03 RUNNING pid 32720, uptime 20:31:44
- 更新加载配置文件
[root@iZbp18brdnpqb20dqp8093Z www]# supervisorctl update
- 重新启动所有项目
[root@iZbp18brdnpqb20dqp8093Z www]# supervisorctl reload
- 重新启动所有项目
[root@iZbp18brdnpqb20dqp8093Z www]# supervisorctl reload
- 启动/停止 所有项目
[root@iZbp18brdnpqb20dqp8093Z www]# supervisorctl start all
[root@iZbp18brdnpqb20dqp8093Z www]# supervisorctl stop all
- 启动/停止 指定项目下的指定监控器
[root@iZbp18brdnpqb20dqp8093Z www]# supervisorctl start laravel-worker:laravel-worker_00
[root@iZbp18brdnpqb20dqp8093Z www]# supervisorctl stop laravel-worker:laravel-worker_03
[root@iZbp18brdnpqb20dqp8093Z www]# supervisorctl status
laravel-worker:laravel-worker_00 RUNNING pid 18403, uptime 0:10:57
laravel-worker:laravel-worker_01 RUNNING pid 32718, uptime 20:40:24
laravel-worker:laravel-worker_02 RUNNING pid 32719, uptime 20:40:24
laravel-worker:laravel-worker_03 STOPPED Oct 27 02:22 P
- 查看项目监控器对应的Pid
[root@iZbp18brdnpqb20dqp8093Z www]# supervisorctl pid laravel-worker:laravel-worker_00
- 其他更多用法就不过多陈述可使用help,自己摸索
[root@iZbp18brdnpqb20dqp8093Z supervisord.d]# supervisorctl help
default commands (type help <topic>):
=====================================
add exit open reload restart start tail
avail fg pid remove shutdown status update
clear maintail quit reread signal stop version
二、问题解决 unix:///tmp/supervisor.sock no such file
/tmp 文件夹是liux运行时记录缓存的文件夹,用于加速二次打开文件的速度,在linux关机时会被系统删除
解决方法:
因为 /tmp 文件是linux指定的临时文件夹,那我们决定将 supervisor.sock文件记录在其他文件夹
1、找到supervisor的配置文件
supervisor 没有办法像普通进程那样systemctl restart xxx 重启
首先,我们找到supervisor的配置文件
[root@iZbp18brdnpqb20dqp8093Z supervisord.d]# whereis supervisor
supervisor: /etc/supervisor
找到我们的目标文件

进入文件将 /tmp/supervisor.sock 改为 /var/lib/supervisor/supervisord.sock,运行supervisorctl

三、问题解决unix:///var/run/supervisor.sock no such file
因为服务器停掉导致 /var/run目录下的supervisor.sock文件被删除,找不到导致报错
解决方法:
首先杀死进程
- 找到supervisord进程号
[root@iZbp18brdnpqb20dqp8093Z supervisord.d]# ps -ef | grep supervisord
- 杀死supervisord进程
[root@iZbp18brdnpqb20dqp8093Z supervisord.d]# kill -9 PID
其次
-创建supervisor.sock
[root@iZbp18brdnpqb20dqp8093Z supervisord.d]# cd /var/run
[root@iZbp18brdnpqb20dqp8093Z run]# touch /var/run/supervisor.sock
- 这里需要注意需要给supervisor.sock授权
[root@iZbp18brdnpqb20dqp8093Z run]# chmod -R 777 supervisor.sock
运行一下命令
- 开启进程服务supervisor.sock
[root@iZbp18brdnpqb20dqp8093Z run]# supervisord -c /etc/supervisord.conf
注意在重启supervisor时,可能会报错,
[root@iZbp18brdnpqb20dqp8093Z run]# supervisord -c /etc/supervisord.conf
Unlinking stale socket /var/run/supervisord.sock
需要在杀死进程后执行
[root@iZbp18brdnpqb20dqp8093Z run]# unlink /var/run/supervisor.sock
原因是supervisor.sock 这个文件会被系统自动删除或者其他原因不存在,删除软连接就可以。

本文详细介绍了如何使用supervisorctl进行项目管理和配置,包括查看状态、更新配置、重启服务等。重点讲解了在Linux中遇到的关于supervisor.sock路径问题的解决方案。

2980

被折叠的 条评论
为什么被折叠?



