解决unix:///var/run/supervisor.sock no such file的方法
supervisor作为一个进程管理的python软件非常的给力 但是一不小心就会遇到一些问题 就比如下面这个:
unix:///var/run/supervisor.sock no such file
这个问题一般来说 有几个原因:
supervisord没有运行起来.
明明已经运行起来了他就是说没有.
而且根据我的尝试 如果使用ubuntu, 那么进行下面的操作 100000% 会挂掉而且报错:
安装:
sudo apt-get install supervisor
使用:
sudo service supervisor start
sudo supervisorctl
这里都是很正常的
但是如果在第一次运行后 再尝试运行:
sudo supervisorctl reload
或者在supervisorctl里面运行 reload
那么这个服务就永远跑不起来了.
上网搜了好多 结果都没有很好的解决方法. 进行尝试了很久 终于发现可以解决的方法了:
首先删除通过apt-get安装的supervisor:
sudo apt-get remove supervisor
然后
sudo ps -ef | grep supervisor
找到对应的进程kill掉.
再然后:
sudo easy_install(pip install) supervisor==3.0b2
注意 这里就是重点:
通过apt-get安装的supervisor 版本号是3.0a8, 而当你第一次安装这个版本之后 再用easy_install的话 就也是这个版本 而不是最新版的3.0b2
然后生成配置文件(root权限):
echo_supervisord_conf > /etc/supervisord.conf
再然后:
sudo supervisord
再然后:
sudo supervisorctl
启动成功.
最后说明:
使用easy_install安装的supervisor的默认sock文件 会被定义在/tmp下面 而apt-get会在/var/run下面. 鉴于apt-get会出现各种问题 这里建议使用easy_install或是pip安装 supervisor.
http://tuzii.me/diary/522dc528848eea683d7724f2/%E8%A7%A3%E5%86%B3ubuntu-supervisor-unix:var-run-supervisor.sock-no-such-file.%E7%9A%84%E6%96%B9%E6%B3%95
via.http://www.xgllseo.com/?p=5418