2013-06-13 29 views
10

Devo eseguire due server di nodi in porte diverse, voglio scrivere un semplice script di shell che avvii entrambi i server.Esecuzione di due server di nodi da un singolo comando shell utilizzando uno script di shell

ho scritto come di seguito:

node project/rest.js && node static-server.js 

ma quando ho eseguito i comandi alla volta, inizia il primo server E non eseguire la seconda.

E solo il server fist ascolta la richiesta, il secondo server statico non si avvia. E nella shell ho un output da rest.js.

Cosa ho fatto in precedenza per eseguire i server di traino, eseguo due comandi in shell diverse.

C'è un modo per eseguire entrambi i server con uno script di shell singolo?

Grazie in anticipo.

+2

Inoltre .. "Per sempre" potrebbe essere di vostro interesse .. https://github.com/nodejitsu/forever –

risposta

17

Il comando non funziona perché si sta tentando di eseguire due processi nella stessa shell. Invece, dovresti "generare" i processi del nodo in processi diversi. Provate questo comando:

node project/rest.js & node static-server.js & 
+0

metto tutti e tre i server nel 'app.js' file ed eseguirlo con' nodo app.js> app.js.log'. E funziona bene. Come posso tenere un registro per ciascun server separatamente? – m2j

+0

@ m2j Quindi hai avviato 3 server nello stesso processo? Non è possibile mantenere i registri separatamente utilizzando un comando. Dovresti specificare il file di registro per ciascun server all'interno di app.js' – verybadalloc

+0

grazie per la risposta @verybadalloc – m2j

0

ho scritto molto semplice script di shell, per avviare MongoDB, avviare più server nodo in una nuova finestra di terminale e aprire WebStorm Ide.

utilizza la libreria https://github.com/mklement0/ttab per aprire nuove finestre di terminale.

è possibile specificare più progetti nel codice e con semplice se altro o magari con l'istruzione switch, differenziare i progetti.

sh dev.sh waufwauf 

cd e avvia il progetto waufwauf, spero che sia d'aiuto.

#!/bin/bash 

if [ "$1" = "waufwauf" ] 
then 
    cd Code/waufwauf; 
    ttab -d ./ mongod; 
    ttab -d server npm run dev; 
    ttab -d client npm run dev; 
    wstorm ~/Code/waufwauf; 
elif [ "$1" = "" ] 
then 
    echo specify project name; 
else 
    echo $1 unknown project; 
fi 
Problemi correlati