supervisor启动服务失败

起因
最近一个多月 MBP 每天下午不定时突然重启,所幸每次重启后的不受影响,正好项目也比较紧张,也就忍忍先赶项目了,期间联系了 Apple 在线客服,但总是让我升级系统重试,上周正好项目上线了,赶紧抓紧时间预约了周五下午的天才吧,到了之后告诉我由于过保,检测费用300元,需要48小时的检测时间,同时需要告知售后开机密码。我一听就不干了,周一能不能干活先不说,把密码告诉你,那我银行卡的两块五没了怎么办?!

由于这个问题是最近出现的,因此我判断不是硬件的问题,只要是软件的问题就好说,直接拿出大招——重装系统。虽说格盘前已经尽可能的备份了自己能想到的所有文件,但总是会有些遗漏的地方,比如 docker 镜像

正文
重新安装完系统后,从同事那里拷贝过来了 docker 镜像,但启动容器后无法正常发起请求,进入容器使用命令supervisorctl status看到 nginx 没有启动,遂使用命令supervisorctl start nginx启动 nginx,但提示 supervisor ERROR (spawn error),虽然有错误提示,但这样的提示对我来说就是没有提示,然后使用命令supervisorctl tail nginx stdout进一步查看信息,终于发现是由于相关的日志文件没有权限导致 nginx 服务无法正常启动,通过对比 MySQL 服务发现,nginx 服务用 work 账户执行,但日志文件的所有者和所属组却是 root,难怪会没有权限,于是使用chownchgrp命令将日志文件的所有者与所属组更正,再次执行supervisorctl start nginx后,nginx 正常启动了。

因为热爱,所以执着。