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
我遇到了和你一样的问题,经过几次,这里有解决方案:
首先删除apt-get supervisor版本:
sudo apt-get remove supervisor
Run Code Online (Sandbox Code Playgroud)杀死后端主管流程:
sudo ps -ef | grep supervisor
Run Code Online (Sandbox Code Playgroud)然后获得最新版本(apt-get版本为3.0a8):
sudo easy_install(pip install) supervisor==3.0b2
Run Code Online (Sandbox Code Playgroud)回显配置文件(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_server和supervisorctl部分的值是否匹配.
请注意,这是一个Ubuntu级别的问题,不是Python,Django或nginx的问题,因此这个问题可能属于ServerFault.
在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在跑步时不会有任何问题.
错误可能是由于您没有权限。也许你可以通过这种方式修复错误,打开终端,输入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。我建议你这样做。