tutorial nodejs node node.js heroku express heroku-toolbelt

node.js - nodejs - npm heroku



ConfiguraciĆ³n del puerto para el servidor node.js en Heroku (3)

Lancé un servidor node.js con la siguiente línea para configurar el puerto:

app.set(''port'', process.env.PORT || 8080);

Esto significa que, debe leer la variable env de PORT o la predeterminada en 8080, como lo hace cuando se ejecuta localmente. Ninguno de los dos está sucediendo en Heroku, y el servidor siempre usa el puerto predeterminado 80. ¿Alguna idea de cómo cambiarlo?

heroku config PORT: 8080


Deberías usar el puerto abierto por heroku así:

port = process.env.PORT || 80

Establece el puerto a 80 si no se ha configurado de alguna manera ya


Heroku trata las aplicaciones web como cualquier otra aplicación y no le permite asignar puertos de escucha directamente. Heroku asignará un puerto dinámico a su servidor web, pero para ACCEDERLO, deberá usar el puerto predeterminado (80).

En Heroku, las aplicaciones son completamente autónomas y no dependen de la inyección en tiempo de ejecución de un servidor web en el entorno de ejecución para crear un servicio orientado a la web. Cada proceso web simplemente se enlaza a un puerto y escucha las solicitudes que llegan a ese puerto. Heroku asigna el puerto para enlazar como la variable de entorno PORT.

El contrato con Heroku es para que el proceso se vincule a un puerto para atender las solicitudes. Los enrutadores de Heroku son responsables de dirigir las solicitudes HTTP al proceso en el puerto correcto.

Referencia: Principios del Tiempo de Ejecución Heroku - Servidores Web


Usted no puede Heroku establece la variable PORT que se supone que debes vincular, y escucha en tcp / 80.