2014-10-19 15 views
5

Desidero utilizzare http-server e forever.js per distribuire la mia app sul server ubuntu remoto. Ma per sempre .js richiede un percorso per il file JS, non per l'eseguibile. Quindi non posso passare le chiavi a http-server. La soluzione migliore finora è installare http-server localmente via npm ed eseguire qualcosa come questo: forever start ./node_modules/http-server/bin/http-server. Ma in questo caso non posso impostare la porta e altre opzioni. Qual è la migliore pratica?Distribuire l'app nodo con http-server e per sempre

risposta

8

Ho avuto lo stesso problema. Trovato un node.js script che può eseguire comandi di shell e usarlo per eseguire il comando http-server insieme alle opzioni.

esempio di node.js script chiamato 'startserver.js':

var sys = require('sys') 
var exec = require('child_process').exec; 
function puts(error, stdout, stderr) { sys.puts(stdout) } 
exec("sudo http-server -a ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com -p 80", puts); 

Quindi è possibile eseguire utilizzando sempre:

forever start startserver.js 
15

è possibile impostare le opzioni utilizzando tale codice. Basta usare il available flags dopo la fine del tuo comando. Per esempio:

forever start ./node_modules/http-server/bin/http-server -p 80 -d false 
3

Questo ha funzionato con me

primo percorso get di http server come questo

which http-server 

ad esempio otterrete "/ usr/bin/http-server"

quindi dopo scrivere il per sempre seguito dal percorso http-server e il percorso dell'app

forever start /usr/bin/http-server /your/app/path 

Cordiali saluti.

0

Passare alla directory che contiene i file E dal tipo di riga di comando: per sempre start -c http-server. -p your_port_number Esempio: sempre Iniziamo -c http server -p 8000

In questo modo, la porta 8000 sarà per sempre puntare ai file html nella directory.

0

Prova questo:

forever start $(which http-server)

+0

Questo non fornisce una risposta alla domanda. Una volta che hai [reputazione] sufficiente (https://stackoverflow.com/help/whats-reputation) sarai in grado di [commentare qualsiasi post] (https://stackoverflow.com/help/privileges/comment); invece [fornisci risposte che non richiedono chiarimenti da parte del richiedente] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-, invece). - [Dalla recensione] (/ recensione/post di bassa qualità/17850413) – Styx

Problemi correlati