Estou usando o aplicativo Ruby on Rails para implementar o bate-papo. Eu não sou capaz de configurar o servidor juggernaut no modo de produção.
Eu segui este guia para configurar os redis. e está funcionando perfeitamente bem.
Então eu segui isso para configurar o juggernaut . Mas quando estou tentando começar a funcionar, não funciona.
Aqui está a saída para os comandos do grep para verificar se os redis estão funcionando, mas o rolo compressor não está.
Quando estou tentando parar / iniciar o servidor redis, isso me dá saída, ou seja:
Starting/Stopping redis-server: redis-server.
Mas nada quando eu estou fazendo o mesmo para juggernaut. Verifique a captura de tela.
Algumas outras coisas para verificar o que realmente está acontecendo:
-
Permissões de arquivos executáveis no arquivo /etc/init.d/juggernaut - YES
-rwxr-xr-x 1 fizzy fizzy 1310 Sep 19 11:06 juggernaut
-
PIDFILE = / var / run / juggernaut.pid 'está definido. Isso existe? --- NÃO
-
Na parte de 'start', roda o 'chuck juggernaut: juggernaut'. O usuário juggernaut existe e é membro do grupo juggernaut? - SIM / SIM
cat /etc/group
redis:x:1002:
juggernaut:x:113:
groups juggernaut
juggernaut : juggernaut
-
Executando o sudo juggernaut, inicie o servidor, mas quero que ele continue sendo executado no processo / serviço em segundo plano.
Estou preso agora. Alguém pode me ajudar.
EDITAR
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
Eu tentei mudar
DAEMON=/usr/bin/juggernaut
para
DAEMON=/usr/local/bin/juggernaut
depois disso eu tentei reiniciar o juggernaut usando
sudo /etc/init.d/juggernaut start
Servidor iniciado, mas não como processo / serviço em segundo plano.
EDITAR
Executando o script no modo de depuração:
+ 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
EDITAR
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 "" 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
Aqui está a saída para todas as portas usadas
tcp 0 0 localhost.localdom:9312 *:* LISTEN
tcp 0 0 localhost.localdo:mysql *:* LISTEN
tcp 0 0 *:6379 *:* LISTEN
tcp 0 0 *:http-alt *:* LISTEN
tcp 0 0 *:www *:* LISTEN
tcp 0 0 localhost.localdo:52433 *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 localhost.localdo:53784 *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN