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