在Ubuntu中设置nginx和管理程序

rnk*_*rnk 50 python apache django nginx supervisord

我正在使用django-gunicorn-nginx设置,遵循本教程http://ijcdigital.com/blog/django-gunicorn-and-nginx-setup/ Upto nginx setup,它正在运行.然后我安装了主管,配置它然后我重启我的服务器并检查,它显示502坏网关.我正在使用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
Run Code Online (Sandbox Code Playgroud)

然后我重新启动主管,我运行此命令$ supervisorctl start qlimp,我收到此错误

unix:///var/run/supervisor.sock no such file
Run Code Online (Sandbox Code Playgroud)

我的主管设置有问题吗?

谢谢!

kda*_*zle 65

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

sudo service supervisor start
Run Code Online (Sandbox Code Playgroud)

你可以看看是否是这种情况.如果主管已经在运行,它会说.如果它正在捕获错误,它通常会给你一个比supervisorctl更有用的错误消息.


Sce*_*cen 25

我遇到了和你一样的问题,经过几次,这里有解决方案:

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

      sudo apt-get remove supervisor
    
    Run Code Online (Sandbox Code Playgroud)
  2. 杀死后端主管流程:

     sudo ps -ef | grep supervisor
    
    Run Code Online (Sandbox Code Playgroud)
  3. 然后获得最新版本(apt-get版本为3.0a8):

    sudo easy_install(pip install) supervisor==3.0b2 
    
    Run Code Online (Sandbox Code Playgroud)
  4. 回显配置文件(root premission):

    echo_supervisord_conf > /etc/supervisord.conf
    
    Run Code Online (Sandbox Code Playgroud)

5.开始监督:

   sudo supervisord
Run Code Online (Sandbox Code Playgroud)

6.进入supervisorctl:

   sudo supervisorctl
Run Code Online (Sandbox Code Playgroud)

一切都已经完成!玩得开心!


Ani*_*nil 17

试试这个

cd /etc/supervisor
sudo supervisord
sudo supervisorctl restart all
Run Code Online (Sandbox Code Playgroud)


Mar*_*ers 12

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

该错误表明supervisorctl,控制CLI无法访问UNIX套接字与supervisord守护进程通信.

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

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

  • 如果`/ etc/supervisor/supervisord.conf`,`unix_http_server`部分有一个指向`/ var/run/supervisor.sock`的文件条目,那么supervisord没有运行或安装.运行`sudo /etc/init.d/supervisor start`看它是否会启动. (2认同)

Din*_*nny 9

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

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

 # Bring Supervisor up right now.
 $ sudo systemctl start supervisor
Run Code Online (Sandbox Code Playgroud)

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

$ sudo supervisorctl status iconic
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

PS:确保gunicorn在跑步时不会有任何问题.


Kar*_*itz 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)
Run Code Online (Sandbox Code Playgroud)

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