supervisor 常见错误及其解决方案

通过 supervisord -v 查看版本

1、进程日志权限错误

IOError: [Errno 13] Permission denied: '/var/log/supervisor/supervisord.log'

原因,/var/log/supervisor/supervisord.log没有写权限,赋予权限即可:

sudo chmod -R 777 /var/log/supervisor/supervisord.log

2、开启HTTP Server错误

Error: Cannot open an HTTP server: socket.error reported errno.EACCES (13)

配置文件中 /var/run 文件夹,没有授予启动 supervisord 的相应用户的写权限。/var/run 文件夹实际上是链接到 /run,因此我们修改 /run 的权限

sudo chmod 777 /run

一般情况下,我们可以用 root 用户启动 supervisord 进程,然后在其所管理的进程中,再具体指定需要以那个用户启动这些进程。

3、运行日志权限问题

'INFO spawnerr: unknown error making dispatchers for 'app_name': EACCES'

修改日志文件的权限

sudo chmod 777 /usr/log/supervisor/supervisor.log
sudo chmod 777 /usr/log/supervisor/youAppName.log

4,指定运行太多问题,

 Exited too quickly (process log may have details)

有可能是当前文件已经运行

kill 调当前的进程,再试试运行

5,找不到supervisor==3.81等版本

明明你已经安装了supervisor,但是还是报错
pkg_resources.DistributionNotFound: The 'supervisor==3.1.3' distribution was not found and is required by the application

有可能是因为你没有python2中没有下载supervisor

sudo easy_install supervisor
或者 pip2 install supervisor

6,日志里报:couldn't setuid to 502: Can't drop privilege as nonroot user

错误日志

supervisor: couldn't setuid to 502: Can't drop privilege as nonroot user
supervisor: child process was not spawned
supervisor: couldn't setuid to 502: Can't drop privilege as nonroot user
supervisor: child process was not spawned
supervisor: couldn't setuid to 502: Can't drop privilege as nonroot user

解决方法

查看每个任务的配置文件的user配置项是否为运行supervisor服务用户。
比如:
我当前使用A用户登录系统并启动supervisor服务

supervisord -c etc/supervisord.conf

每个任务程序的运行用户设置成了B

cat files/old.ini
...
user=B
...

当supervisor服务启动时就会出现上面的错误。
然后将 任务程序的运行用户设置成A,就不会出错正常运行。

cat files/old.ini
...
user=A
...

supervisor 3.3.4 版本遇到的此问题解决方法

将supervisor 主配置文件个别配置项更改为下(更改root用户为当前用户,因为非root用户无法切换到root用户。)

[supervisord]
user=当前用户 ;如果supervisord启动的环境包含变量USER并且它设置为当前用户,您应该能够以user=%(ENV_USER)s任一用户身份运行。

7. “supervisor.sock no such file”的解决方法

在这里插入图片描述
第一步:去/var/run/supervisor中touch一个supervisor.sock文件 并chmod 777 supervisor.sock
第二步:kill掉所有之前的supervisor进程
在这里插入图片描述
第三步:“/usr/bin/python /usr/bin/supervisord -n -c /etc/supervisord.conf & ”重新启动supervisor

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Supervisor是一个用于监控和管理进程的工具。你可以使用以下步骤安装和配置Supervisor: 1. 首先,通过以下命令安装supervisor: ``` sudo yum install python-setuptools sudo easy_install supervisor ``` 2. 接下来,你可以使用`go get`命令安装supervisor-event-listener插件。运行以下命令: ``` go get -u github.com/ouqiang/supervisor-event-listener ``` 3. 现在,你可以配置Supervisor。打开Supervisor的配置文件,在文件中添加以下配置: ``` [eventlistener:supervisor-event-listener] command=/path/to/supervisor-event-listener ``` 4. 保存并退出配置文件。 如果你遇到supervisor.sock问题,你可以尝试以下解决方法: 1. 使用以下命令查找supervisor.sock文件的位置: ``` find / -name supervisor.sock ``` 2. 找到supervisor.sock文件后,使用以下命令删除它: ``` unlink /path/to/supervisor.sock ``` 以上是安装和配置Supervisor以及解决supervisor.sock问题的方法。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Supervisor 维护 Go进程](https://blog.csdn.net/weixin_34004576/article/details/91929157)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [supervisor-event-listener:Supervisor事件通知, 支持邮件, Slack, WebHook](https://download.csdn.net/download/weixin_42110038/18741056)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴国进

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值