centos 安装supervisor 详解

5 篇文章 1 订阅

一 安装 supervisor

1.1 使用easy_install 安装

执行以下命令

1.yum install python-setuptools

 Error: Unable to find a match: python-setuptools
可参考:
你要用python2还是python3?python2-setuptools或者python3-setuptools

参考链接:docker新手 :centos安装SSH服务报错_已解决_博问_博客园

2.easy_install supervisor

1.2 使用pip 安装

pip3 install supervisor

 1.3 centos安装

yum update
	yum install -y epel-release
	yum install -y supervisor

 1.4 Debian/Ubuntu 安装

apt-get install supervisor

 二 配置supervisor

1.创建文件夹和配置文件

mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf

2.修改/etc/supervisor/supervisord.conf文件内容

在文件结尾[include]节点处
把;files = relative/directory/*.ini
 改为files = conf.d/*.conf

 3.修改配置后重启服务

supervisord -c /etc/supervisor/supervisord.con

 4.在/etc/supervisor/conf.d创建配置文件

5.配置开机启动

a.在/usr/lib/systemd/system/目录下创建文件supervisord.service

vim /usr/lib/systemd/system/supervisord.service
[Unit]
Description=Supervisor daemon

[Service]

Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

b.手动测试下面流程

执行以下命令:

systemctl enable supervisord

d.验证是否为开机启动:

#提示 enabled 表示成功

systemctl is-enabled supervisord

三 常用命令

service supervisord start #启动

service supervisord stop #停止

service supervisord status #状态

supervisorctl shutdown #关闭所有任务

supervisorctl stop|start program_name #启动或停止服务

supervisorctl status #查看所有任务状态

sudo supervisorctl reread  重启

sudo supervisorctl update  更新

sudo supervisorctl start laravel-worker:* 开启指定队列

四 问题解决

1.“unix:///tmp/supervisor.sock no such file“ 错误解决方案

supervisor在正常安装完时运行正常,但隔一段时间后出现了故障,重启后报:
unix:///tmp/supervisor.sock no such file
原因是 supervisor 默认配置会把 socket 文件和 pid 守护进程生成在Linux的/tmp/目录下,/tmp/目录是缓存临时文件的目录,Linux会根据不同情况自动删除其下面的文件。比如缓存超时等,因此我们需要做如下修改:

具体操作如下:
vi /etc/supervisord.conf
 

[unix_http_server]
;file=/tmp/supervisor.sock   ; (the path to the socket file)
file=/var/run/supervisor.sock   ; 修改为 /var/run 目录,避免被系统删除
[supervisord]
;logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile=/var/log/supervisor/supervisord.log ; 修改为 /var/log 目录,避免被系统删除
pidfile=/var/run/supervisord.pid ; 修改为 /var/run 目录,避免被系统删除
[supervisorctl]
; 必须和'unix_http_server'里面的设定匹配
;serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket
serverurl=unix:///var/run/supervisor.sock ; 修改为 /var/run 目录,避免被系统删除


更新配置文件 或重启supervisor


supervisorctl update

至此就可以了,socket 文件 supervisor.sock 和守护进程 supervisord.pid 两个文件放在/var/run/下面,log 文件 supervisord.log 放在/var/log/下面。

参考:“unix:///tmp/supervisor.sock no such file“ 错误解决方案-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值