Я разрабатываю приложение ruby on rails для реализации чата. Я не могу настроить сервер Juggernaut в производственном режиме.
Я последовал за это руководство для настройки Redis. и он работает отлично.
Затем я последовал это для настройки джаггернаута. Но когда я пытаюсь начать джаггернаут, он не работает.
Вот выход для команд grep, чтобы проверить, что redis работает, а juggernaut - нет.
Когда я пытаюсь остановить / запустить сервер Redis, он дает мне вывод, то есть:
Starting/Stopping redis-server: redis-server.
Но ничего, когда я делаю то же самое для джаггернаута. Проверить скриншот.
Еще кое-что, чтобы проверить, что на самом деле происходит:
Разрешения исполняемого файла для файла /etc/init.d/juggernaut - ДА
-rwxr-xr-x 1 fizzy fizzy 1310 Sep 19 11:06 juggernaut
PIDFILE = / var / run / juggernaut.pid 'определен. Это существует? --- НЕТ
В «стартовой» части написано «chown juggernaut: juggernaut». Существует ли пользователь juggernaut и является ли он членом группы juggernaut? - ДА / ДА
cat /etc/group
redis:x:1002:
juggernaut:x:113:
groups juggernaut
juggernaut : juggernaut
Запуск 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