50

I'm using django-gunicorn-nginx setup by following this tutorial http://ijcdigital.com/blog/django-gunicorn-and-nginx-setup/ Upto nginx setup, it is working. Then I installed supervisor, configured it and then I reboot my server and checked, it shows 502 bad gateway. I'm using Ubuntu 12.04 LTS

/etc/supervisor/conf.d/qlimp.conf

[program: qlimp]
directory = /home/nirmal/project/qlimp/qlimp.sh
user = nirmal
command = /home/nirmal/project/qlimp/qlimp.sh
stdout_logfile = /path/to/supervisor/log/file/logfile.log
stderr_logfile = /path/to/supervisor/log/file/error-logfile.log

Then I restarted supervisor and I run this command $ supervisorctl start qlimp and I'm getting this error

unix:///var/run/supervisor.sock no such file

Is there any problem in my supervisor setup?

Thanks!

4

11 回答 11

66

没有套接字文件可能意味着主管没有运行。它未运行的一个原因可能是您的 qlimp.conf 文件中存在某种错误。如果你做一个

sudo service supervisor start

您可以查看是否是这种情况。如果主管已经在运行,它会说。如果它捕捉到错误,它通常会给你一个比 supervisorctl 更有帮助的错误信息。

于 2013-09-17T20:07:04.293 回答
26

我也遇到了和你一样的问题,经过几次,解决方法如下:

  1. 首先删除 apt-get supervisor 版本:

      sudo apt-get remove supervisor
    
  2. 杀死后端主管进程:

     sudo ps -ef | grep supervisor
    
  3. 然后获取最新版本(apt-get 版本为 3.0a8):

    sudo easy_install(pip install) supervisor==3.0b2 
    
  4. 回显配置文件(root权限):

    echo_supervisord_conf > /etc/supervisord.conf
    

5.启动supervisord:

   sudo supervisord

6.进入supervisorctl:

   sudo supervisorctl

什么都做了!玩得开心!

于 2013-07-29T06:45:54.957 回答
17

尝试这个

cd /etc/supervisor
sudo supervisord
sudo supervisorctl restart all
于 2014-11-06T16:56:08.080 回答
12

您确定 supervisord 已安装并正在运行吗?当前是否有套接字文件/var/run/supervisor.sock

该错误表明supervisorctl,控制 CLI 无法到达 UNIX 套接字以与supervisord守护程序通信。

您还可以检查和部分/etc/supervisor/supervisord.conf的值是否匹配。unix_http_serversupervisorctl

请注意,这是一个 Ubuntu 级别的问题,而不是 Python、Django 或 nginx 的问题,因此这个问题可能属于 ServerFault。

于 2012-05-23T08:42:26.663 回答
10

在 Ubuntu 16+ 上,这似乎是由切换到 systemd 引起的,此解决方法可能会修复新服务器:

 # Make sure Supervisor comes up after a reboot.
 $ sudo systemctl enable supervisor

 # Bring Supervisor up right now.
 $ sudo systemctl start supervisor

然后检查您的主管 icon.conf [我的例子]的状态

$ sudo supervisorctl status iconic

在此处输入图像描述

PS:确保gunicorn在运行时不会出现任何问题。

于 2016-10-16T22:26:16.910 回答
5

该错误可能是由于您没有权限。也许你可以通过这种方式修复错误,打开你的终端,输入vim /etc/supervisord.conf编辑文件,搜索行

[unix_http_server]
;file=/tmp/supervisor.sock   ; (the path to the socket file)
;chmod=0700                  ; socket file mode (default 0700)

并删除字符串开头的分号;file=/tmp/supervisor.sockand ;chmod=0700,重新启动您的supervisord。我建议你这样做。

于 2015-02-12T03:58:36.893 回答
3

确保在/etc/supervisor.conf以下两个部分中存在

[unix_http_server]
file=/tmp/supervisor.sock ; path to your socket file

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
于 2014-07-02T12:42:34.383 回答
2

你可以做这样的事情: -

sudo touch /var/run/supervisor.sock
sudo chmod 777 /var/run/supervisor.sock
sudo service supervisor restart

这绝对有效,试试这个。

于 2017-04-01T09:39:41.913 回答
2

就我而言,主管没有运行。要发现我运行的问题:

sudo systemctl status supervisor.service

问题是我的日志指向一个不存在的目录,所以我只需要创建它。

我希望它有帮助:)

于 2017-04-03T22:50:06.997 回答
0
touch /var/run/supervisor.sock
sudo supervisord -c /etc/supervisor/supervisord.conf

并在 supervisorctl 重新启动所有

如果你想监听主管端口

ps -ef | grep supervisord

如果你想杀死进程

kill -s SIGTERM 2503  
于 2018-06-19T06:30:54.203 回答
0

创建一个conf文件并在下面添加行

请记住,为了使用 Nginx,您必须禁用系统启动时自动启动,这是您在安装 Nginx 时激活的。

https://askubuntu.com/questions/177041/nginx-disable-autostart

注意:所有主管进程必须处于“守护进程关闭”模式,才能与主管一起工作

[program:nginx]
command=/usr/sbin/nginx -g "daemon off;"
autostart=true
autorestart=true
startretries=5
stopasgroup=true
stopsignal=QUIT
numprocs=1
startsecs=0
process_name=WebServer(Nginx)
stderr_logfile=/var/log/nginx/error.log
stderr_logfile_maxbytes=10MB
stdout_logfile=/var/log/nginx/access.log
stdout_logfile_maxbytes=10MB

sudo supervisorctl reread && sudo supervisorctl update

在此处输入图像描述

于 2019-08-07T13:26:40.030 回答