2012-11-11 9 views

risposta

222

Per un solo run (dal prompt della shell Unix):

$ PORT=1234 node app.js 

Più in modo permanente:

$ export PORT=1234 
$ node app.js 

In Windows:

set PORT=1234 

In Windows PowerShell:

$env:PORT = 1234 
+0

Grazie! Avevo bisogno di questo per @twilio api. – BingeBoy

+4

Per ragioni di documentazione, http://msdn.microsoft.com/en-us/library/windows/desktop/bb776899(v=vs.85).aspx per utenti Windows – WraithKenny

+3

Anche per Powershell, è '$ env: PORT = 80' http://technet.microsoft.com/en-us/library/ff730964.aspx – WraithKenny

1

MODIFICA: Per @ commento di sshow, se si sta tentando di eseguire l'app nodo sulla porta 80, il seguente non è il modo migliore per farlo. Ecco una risposta migliore: How do I run Node.js on port 80?

risposta originale:

Se si vuole fare questo per funzionare sulla porta 80 (o vuole impostare la variabile ENV più in modo permanente),

  1. Apri il tuo profilo di bash vim ~/.bash_profile
  2. Aggiungi la variabile di ambiente al file export PORT=80
  3. aprire il file sudoers config sudo visudo
  4. Aggiungere la seguente riga al file esattamente come in modo Defaults env_keep +="PORT"

Ora, quando si esegue sudo node app.js dovrebbe funzionare, se lo desideri.

+0

Esecuzione del proprio gli script di nodo come root (sudo) non sono raccomandati. Usa 'sudo iptables -t nat -I PREROUTING -p tcp -dport 80 -j REDIRECT --to-port 8080', e ascolta invece sulla porta 8080. http: //stigok.tumblr.it/post/139320914543/nodejs-http-listen-port-80-without-sudo-using – sshow

+1

Sì, hai ragione, mi sono collegato a una discussione migliore (che ho anche risposto, * disclaimer *) e appresa dopo inizialmente utilizzando questo approccio. –

5

utilizzare il seguente comando per impostare il numero di porta nel processo nodo durante l'esecuzione nodo programma JS:

set PORT =3000 && node file_name.js 

La porta impostata può essere letta in il codice come

process.env.PORT 
Problemi correlati