Назад | Перейти на главную страницу

Не удалось настроить сервер push-уведомлений juggernaut на ubuntu

Я разрабатываю приложение ruby ​​on rails для реализации чата. Я не могу настроить сервер Juggernaut в производственном режиме.

Я последовал за это руководство для настройки Redis. и он работает отлично.

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

Вот выход для команд grep, чтобы проверить, что redis работает, а juggernaut - нет.

Когда я пытаюсь остановить / запустить сервер Redis, он дает мне вывод, то есть:

 Starting/Stopping redis-server: redis-server.

Но ничего, когда я делаю то же самое для джаггернаута. Проверить скриншот.

Еще кое-что, чтобы проверить, что на самом деле происходит:

  1. Разрешения исполняемого файла для файла /etc/init.d/juggernaut - ДА

        -rwxr-xr-x 1 fizzy fizzy 1310 Sep 19 11:06 juggernaut
    
  2. PIDFILE = / var / run / juggernaut.pid 'определен. Это существует? --- НЕТ

  3. В «стартовой» части написано «chown juggernaut: juggernaut». Существует ли пользователь juggernaut и является ли он членом группы juggernaut? - ДА / ДА

      cat /etc/group
          redis:x:1002:
          juggernaut:x:113:
    
      groups juggernaut
          juggernaut : juggernaut
    
  4. Запуск sudo juggernaut запускает сервер, но я хочу, чтобы он продолжал работать в фоновом режиме / службе.

Я застрял. Кто-нибудь может мне помочь.

РЕДАКТИРОВАТЬ

     fizzy@li136-198:~$ sudo ls -l /usr/bin/juggernaut 
              ls: cannot access /usr/bin/juggernaut: No such file or directory
     fizzy@li136-198:~$ sudo ls -l /usr/local/bin/juggernaut 
            lrwxrwxrwx 1 root root 40 Sep 20 02:48 /usr/local/bin/juggernaut -> ../lib/node_modules/juggernaut/server.js

Я пытался изменить

        DAEMON=/usr/bin/juggernaut

к

        DAEMON=/usr/local/bin/juggernaut

после этого я попытался перезапустить джаггернаут, используя

         sudo /etc/init.d/juggernaut start

Сервер запущен, но не как фоновый процесс / служба.

PS: Кто-нибудь, пожалуйста, создайте правильные теги для этого вопроса.

В juggernaut программа, похоже, не демонизирует себя по умолчанию, и initscript не предоставляет параметров, чтобы заставить это сделать это. Проверьте вывод jaggernaut --help для параметров, касающихся режима демона, и если вы обнаружите их, измените сценарий инициализации, чтобы предоставить их. Например:

OPTIONS="--daemonize"
...
if start-stop-daemon --start --quiet --umask 007 --pidfile $PIDFILE --chuid juggernaut:juggernaut --exec $DAEMON -- $OPTIONS

Если нет никаких вариантов, вам придется сделать start-stop-daemon выполнить демонизацию (что не идеально по разным причинам). Для этого добавьте --background и вероятно --make-pidfile параметры:

if start-stop-daemon --start --quiet --umask 007 --pidfile $PIDFILE --chuid juggernaut:juggernaut --background --make-pidfile --exec $DAEMON