Vraag Kan juggernaut-server niet als achtergrondprocessen / service starten


Ik gebruik de Ruby on Rail-toepassing om een ​​chat te implementeren. Ik kan de juggernaut-server niet instellen in de productiemodus.

ik volgde deze gids om opnieuw in te stellen. en het werkt prima.

Toen volgde ik dit voor het opzetten van een moloch. Maar als ik probeer de juggernaut te laten werken, werkt het niet.

Hier is de uit voor grep-commando's om te controleren of Redis werkt, maar Juggernaut is dat niet.

enter image description here

Wanneer ik probeer om redisserver te stoppen / te starten geeft het me uitvoer, dat wil zeggen:

 Starting/Stopping redis-server: redis-server.

Maar niets als ik hetzelfde doe voor moloch. Controleer screenshot.

enter image description here

Nog wat andere dingen om te controleren wat er werkelijk aan de hand is:

  1. Uitvoerbare bestandsmachtigingen voor /etc/init.d/juggernaut-bestand - YES

        -rwxr-xr-x 1 fizzy fizzy 1310 Sep 19 11:06 juggernaut
    
  2. PIDFILE = / var / run / juggernaut.pid 'is gedefinieerd. Bestaat dat? --- NEE

  3. In het 'start' gedeelte draait het 'chugget juggernaut: juggernaut'. Bestaat de gebruiker juggernaut en is hij lid van de group juggernaut? - JA / JA

      cat /etc/group
          redis:x:1002:
          juggernaut:x:113:
    
      groups juggernaut
          juggernaut : juggernaut
    
  4. Running sudo juggernaut start de server, maar ik wil dat deze blijft draaien in de achtergrondproces / service.

enter image description here

Ik zit nu vast. Kan iemand mij helpen.

BEWERK

    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

Ik probeerde te veranderen

        DAEMON=/usr/bin/juggernaut

naar

        DAEMON=/usr/local/bin/juggernaut

daarna probeerde ik de moloch opnieuw op te starten

         sudo /etc/init.d/juggernaut start

Server is gestart maar niet als achtergrondproces / service.

BEWERK

Script uitvoeren in de debuggin-modus:

   + 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

BEWERK

    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

Hier is de uitweg voor alle gebruikte poorten

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     

1
2017-09-19 21:43


oorsprong


Afgezien van iets anders wil je zeker het init.d-bestand van root:root. - poolie
Wanneer u zegt "niet als achtergrond", bedoelt u dat het init-script niet is voltooid? - poolie
@poolie yaa .. Het spijt me dat ik verkeerde voorwaarden heb gebruikt ... - Mohit Jain
Laten we doorgaan in een chatroom - poolie


antwoorden:


Wat ik zou doen om dit soort opstartproblemen te debuggen is: bewerken /etc/init.d/juggernaut en wijzig de shebang-regel bovenaan om een ​​toe te voegen -x, bijv

#! /bin/bash -x

probeer vervolgens de service te starten en u zou moeten zien dat deze foutopsporingsinformatie afdrukt, waardoor hopelijk duidelijk wordt wat er mis is.

bijwerken: de tweede laatste regel

 + test -x /usr/bin/juggernaut

maakt het vrij duidelijk (voor mij :-) het init-script wordt afgebroken omdat het denkt dat juggernaut niet is geïnstalleerd. U moet die regel bijwerken waarnaar wordt verwezen /usr/local/bin/juggernaut.

bijwerken: "adres in gebruik" betekent dat een ander proces luistert naar die socket, misschien een ander exemplaar van een juggernaut. netstat -tpl zal je vertellen.


2
2017-09-19 22:27



Controleer mijn bewerking .. Ik denk dat dat logisch is .. - Mohit Jain
Voer de opdracht daadwerkelijk uit en voeg de uitvoer toe aan uw vraag. - poolie
controleer het nu ... ik bewerk mijn vraag - Mohit Jain
yupp .. deed dat maar nu zegt het dat een poort al in gebruik is .. :( - Mohit Jain
controleer mijn bewerking nu .. - Mohit Jain