Я использую push-сервер juggernaut. Как запустить Redis и Juggernaut в производственном режиме, потому что я
juggernaut
or
redis-server will keep on showing me log etc.
Я использую рубин на рельсах 3.
ИЗМЕНИТЬ
Я следовал этим двум руководствам, чтобы настроить juggernaut и redis на рабочем сервере
Похоже, что оба сервера теперь работают без сбоев. Но как я могу получить доступ
:8080/application.js for juggernaut.
Я пытался
my_ip:8080/application.js but nothing.
Для хостинга я использую Linode.
ИЗМЕНИТЬ2
Когда я пытаюсь остановить/запустить сервер Redis, он выдает мне вывод, например:
Starting/Stopping redis-server: redis-server.
Но ничего, когда я делаю то же самое для Джаггернаута. Проверьте скриншот.
ИЗМЕНИТЬ
Я не вижу никакого журнала для juggernaut. Есть один для Redis, но ничего для juggernaut.
ИЗМЕНИТЬ
Права доступа исполняемого файла к файлу /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
ИЗМЕНИТЬ
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
to
DAEMON=/usr/local/bin/juggernaut
после этого я попытался перезапустить джаггернаут, используя
sudo /etc/init.d/juggernaut start
Сервер запущен, но не как фоновый процесс/служба.
ИЗМЕНИТЬ
Запуск скрипта в режиме отладки, т.е. изменение строки shebang вверху для добавления -x, например
#! /bin/bash -x
Вот результат: -
+ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+ DAEMON=/usr/bin/juggernaut
+ NAME=Juggernaut2
+ DESC=Juggernaut2
+ PIDFILE=/var/run/juggernaut.pid
+ test -x /usr/bin/juggernaut
+ exit 0
ИЗМЕНИТЬ
Изменение пути моего джаггернаута, поскольку кажется, что мой джаггернаут установлен где-то еще. Теперь вот вывод
fizzy@li136-198:~$ sudo /etc/init.d/juggernaut start
+ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+ DAEMON=/usr/local/bin/juggernaut
+ NAME=Juggernaut2
+ DESC=Juggernaut2
+ PIDFILE=/var/run/juggernaut.pid
+ test -x /usr/local/bin/juggernaut
+ set -e
+ case "$1" in
+ echo -n 'Starting Juggernaut2: '
Starting Juggernaut2: + touch /var/run/juggernaut.pid
+ chown juggernaut:juggernaut /var/run/juggernaut.pid
+ start-stop-daemon --start --quiet --umask 007 --pidfile /var/run/juggernaut.pid --chuid juggernaut:juggernaut --exec /usr/local/bin/juggernaut
20 Sep 06:41:16 - Your node instance does not have root privileges. This means that the flash XML policy file will be served inline instead of on port 843. This will slow down initial connections slightly.
20 Sep 06:41:16 - socket.io ready - accepting connections
node.js:134
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: EADDRINUSE, Address already in use
at Server._doListen (net.js:1106:5)
at net.js:1077:14
at Object.lookup (dns.js:153:45)
at Server.listen (net.js:1071:20)
at Object.listen (/usr/local/lib/node_modules/juggernaut/lib/juggernaut/server.js:51:21)
at Object.listen (/usr/local/lib/node_modules/juggernaut/lib/juggernaut/index.js:9:10)
at Object.<anonymous> (/usr/local/lib/node_modules/juggernaut/server.js:21:12)
at Module._compile (module.js:402:26)
at Object..js (module.js:408:10)
at Module.load (module.js:334:31)
+ echo failed
failed
+ exit 0