supervisor 3.3.3配置中遇到的问题

error: <class 'socket.error'>, [Errno 2] No such file or directory: file: <string> line: 1
Error: .ini file does not include supervisorctl section

后面找了很久,终于找到了解决问题的方法。执行前,请先确认supervisord.conf配置文件所在路径: 

sudo supervisord -c /etc/supervisord.conf  
sudo supervisorctl -c /etc/supervisord.conf  

============================================================================================ 

下面是三种常见的通用报错:

第一类:

报错信息
error: <class 'socket.error'>, [Errno 2] No such file or directory: file: <string> line: 1

解决办法
这个可能有多种原因,可能是已经启动过了也可能是没权限,解决步骤如下:
1. 先要确认是否已经启动过了:’ps -ef | grep supervisord’
2. 如果有的话先kill掉
3. 运行下面命令:
sudo touch /var/run/supervisor.sock
sudo chmod 777 /var/run/supervisor.sock


4. 再尝试重新启动:supervisord -c /etc/supervisord.conf(如果没有文件找个别人的配置拷贝过来或者运行echo_supervisord_conf > /etc/supervisord.conf)

第二类:

报错信息
Error: .ini file does not include supervisorctl section

解决办法
又是一个权限问题的,步骤:
1. 先确保supervisord.conf中有[supervisord],[supervisorctl]有这两个基本模块,还有[program:XXX]自己程序的配置(可以在supervisord.conf也可以在/etc/supervisor/*.ini中)
2. 最关键的两个命令:chmod +x /usr/bin/supervisord
chmod +x /usr/bin/supervisorctl
chmod +x /etc/supervisord.conf
主要是把把相关文件都授权了
3. 把supervisord杀掉后再次启动supervisord

第三类:

报错信息
Exited too quickly (process log may have details)

如果前面的问题都解决了,但还是会遇到这个问题,恭喜你已经离胜利很近了,起码supervisord本身已经没什么问题了^_^

解决办法
1. 先确认[program:XXX]中自己的程序的command=<启动命令>和 directory=<运行命令的路径>没有问题,python是不是用的自己要的环境的python(比如虚拟环境的),log文件的文件夹是不是已经创建(没创建的话supervisor没权限生成log文件),以及改log文件是不是授权给所有用户了(可参考前面的解决办法chmod +x aaaaa.log
2. 确保用上面的配置中的command在指定路径可以直接运行不会报错,这时候一般就不会有什么问题了。这时候tail你自己的log文件一般就能看到log信息,启动失败报错的信息也会在你的log文件中,照着解决后supervisorctl reload就好了。
3. 如果上面的命令确保可以跑,但还是没法正常运行,也看不到自己程序的报错(不然你就能根据报错解决问题了),那么恭喜,你遇到了跟我一样的情况。我的解决办法很诡异,尝试把[program:XXX]中的名字换成了一个跟启动命令不一样的另一个名字(不要太短),reload之后居然就可以跑了。。。。嗯,很不合常理,但是对我来说确实管用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值