Подтвердить что ты не робот

Настройка nginx и супервизора в Ubuntu

Я использую настройку django-gunicorn-nginx, следуя этому руководству http://ijcdigital.com/blog/django-gunicorn-and-nginx-setup/ Устанавливает nginx, он работает. Затем я установил супервизор, настроил его, а затем перезагрузил свой сервер и проверил, он показывает 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

Затем я перезапустил супервизор, и я запустил эту команду $ supervisorctl start qlimp, и я получаю эту ошибку

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

Есть ли проблема в настройке моего диспетчера?

Спасибо!

4b9b3361

Ответ 1

То, что нет файла сокета, вероятно, означает, что супервизор не запущен. Причина, по которой он не работает, может заключаться в том, что в вашем файле qlimp.conf есть какая-то ошибка. Если вы выполните

sudo service supervisor start

вы можете видеть, действительно ли это так. Если диспетчер уже работает, он скажет. И если он обнаруживает ошибку, он обычно дает вам более полезное сообщение об ошибке, чем supervisorctl.

Ответ 2

Я встречал ту же проблему, что и вы, и несколько раз, вот решение:

  • Сначала удалите версию супервизора apt-get:

      sudo apt-get remove supervisor
    
  • Убейте процесс супервизора:

     sudo ps -ef | grep supervisor
    
  • Затем получите самую новую версию (версия apt-get 3.0a8):

    sudo easy_install(pip install) supervisor==3.0b2 
    
  • Эхо конфигурационный файл (root premission):

    echo_supervisord_conf > /etc/supervisord.conf
    

5.Start supervisord:

   sudo supervisord

6.Введите супервизор:

   sudo supervisorctl

Все сделано! Получайте удовольствие!

Ответ 3

Попробуйте это

cd /etc/supervisor
sudo supervisord
sudo supervisorctl restart all

Ответ 4

Вы уверены, что супервизор установлен и запущен? Есть ли файл сокета, присутствующий в /var/run/supervisor.sock?

Ошибка указывает, что supervisorctl, CLI управления, не может достигнуть сокета UNIX для связи с supervisord, демоном.

Вы также можете проверить /etc/supervisor/supervisord.conf и посмотреть, соответствуют ли значения для разделов unix_http_server и supervisorctl.

Обратите внимание, что это проблема уровня Ubuntu, а не проблема с Python, Django или nginx и, как таковой, этот вопрос, вероятно, принадлежит ServerFault.

Ответ 5

В Ubuntu 16+, похоже, это вызвано переключением на systemd, это обходное решение может исправить для новых серверов:

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

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

а затем проверьте свой статус iconic.conf [Мой пример] супервизора

$ sudo supervisorctl status iconic

введите описание изображения здесь

PS: Удостоверьтесь, что у пушки не должно быть никаких проблем во время работы.

Ответ 6

Ошибка может быть связана с тем, что у вас нет прав. Возможно, вы можете исправить ошибку таким способом, открыть свой терминал и ввести 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.sock и ;chmod=0700, перезапустите наблюдателя. Я предлагаю вам сделать это.

Ответ 7

Убедитесь, что в /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

Ответ 8

Вы можете сделать что-то вроде этого: -

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

Это определенно работает, попробуйте это.

Ответ 9

В моем случае супервизор не работал. Чтобы определить проблему, которую я запускаю:

sudo systemctl status supervisor.service

Проблема заключалась в том, что у меня были журналы, указывающие на несуществующий каталог, поэтому мне просто нужно было его создать.

Надеюсь, это поможет:)

Ответ 10

touch /var/run/supervisor.sock
sudo supervisord -c /etc/supervisor/supervisord.conf

и после   supervisorctl перезапустить все

если вы хотите прослушать порт супервизора

ps -ef | grep supervisord

если хочешь убить процесс

kill -s SIGTERM 2503  

Ответ 11

Создайте файл conf и ниже добавьте строки

Помните, что для работы с Nginx необходимо отключить автозапуск при загрузке системы, который вы активировали при установке Nginx.

https://askubuntu.com/info/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

enter image description here