Установка супервизора на AMI AWS Linux

Я пытаюсь заставить супервизор, работающий удостоверяться, что моя система очереди всегда работает.

Вот шаги, которые я сделал, который я соединил из различных источников: (Работал как пользователь root или суперпользователь),

  1. Работал:

    # easy_install supervisor
    # echo_supervisord_conf > /etc/supervisord.conf
    # vi supervisord.conf
    
  2. Вставляемый следующее к концу файла:

    command=/usr/bin/php /path/to/AppName/artisan --env=production --timeout=240 queue:listen
    
  3. Работал:

    # supervisord -c /etc/supervisord.conf
    # supervisorctl
    supervisor> status
    supervisor>
    

    Это ничего не отображает.

  4. Работал:

    # service supervisord reload
    supervisord: unrecognized service
    
6
задан 5 March 2015 в 10:27
2 ответа

для запуска супервизора в качестве службы нужен файл /etc/init.d/supervisord. Я использовал https://raw.githubusercontent.com/Supervisor/initscripts/master/redhat-init-equeffelec. с помощью модов, соответствующих пути, по которому simple_install выставляет двоичные файлы (/usr/local/bin/) и находит pid и лог в /var/run/ и /var/log/

4
ответ дан 3 December 2019 в 00:21

Я просто потратил на это пару часов, пытаясь заставить Supervisor и AMI Amazon Linux работать нормально. У меня были именно те симптомы, о которых вы упомянули.

Некоторые причуды:

  • продолжайте и включите -c /etc/supervisord.conf (или любой другой путь) в любой супервизор ] или supervisorctl , и убедитесь, что вы запускаете каждый раз от одного и того же пользователя.
  • в вашем /etc/supervisord.conf , когда вы добавляете команду, убедитесь, что вы префикс имени с "программа:", например:

      [программа: очередь]
    command = / usr / bin / php / path / to / AppName / artisan --env = production --timeout = 240 очередь: слушать
     

Как только я сделал это, supervisorctl НАКОНЕЦ распознал процесс / программу очереди.

Я до сих пор не получил sudo service supervisor restart , чтобы распознать супервизор как службу - я подозреваю, что это потому, что у меня нет сценария выскочки, о котором я видел в нескольких местах. Не уверен, что он мне нужен.

Некоторые использованные мной методы отладки:

  • ps aux | grep super , чтобы узнать, работает ли
  • sudo vim для редактирования /etc/supervisord.conf и sudo / usr / local / bin / supervisorctl -c / etc / supervisord. conf , затем avail , reload , update и т. д. для обновления (вместо редактирования .ebextensions и перехода на эластичный beanstalk каждый раз)
4
ответ дан 3 December 2019 в 00:21

Теги

Похожие вопросы