En esta guía, se muestra cómo escribir un servicio web Node.js para ejecutarlo en el entorno estándar de App Engine. Para obtener más información sobre el entorno de ejecución de Node.js y cómo funciona, consulta Entorno de ejecución de Node.js.
Antes de comenzar
Puntos clave
- Puedes usar dependencias. Para ello, inclúyelas en una lista en el archivo
package.json
. Consulta Especifica dependencias para obtener más información. - App Engine inicia la aplicación mediante la ejecución de
npm start
. - El servidor debe detectar el puerto que especifica
process.env.PORT
, una variable de entorno que establece el entorno de ejecución de App Engine. - Necesitas un archivo
app.yaml
para implementar el servicio en App Engine.
Crea un servidor que detecte las solicitudes HTTP
El núcleo de tu servicio web es el servidor HTTP. En el código de muestra de esta guía, se usa el framework Express.js para controlar las solicitudes HTTP, pero puedes usar el framework web que desees.
Crea una carpeta nueva llamada
my-nodejs-service
para el servicio de Node.js.Para navegar a la carpeta en tu terminal y crear un archivo
package.json
, ejecutanpm init
.Ejecuta el siguiente comando para agregar Express como una dependencia:
npm install express
Confirma que Express aparezca en el campo
dependencies
del archivopackage.json
. Por ejemplo:{ ... "dependencies": { "express": "^4.16.3" } ... }
Agrega una secuencia de comandos
start
al archivopackage.json
:"scripts": { "start": "node server.js" }
Crea un archivo llamado
server.js
en la misma carpeta y agrega el siguiente código:
Este es un servidor web muy básico; responde a todas las solicitudes GET
en la ruta raíz ('/'
) con el texto “Hello from App Engine!” Ten en cuenta las últimas cuatro líneas en las que el servidor se configura para detectar el puerto que especifica process.env.PORT
, una variable de entorno que establece el entorno de ejecución de App Engine. Si tu servidor no está configurado para detectar este puerto, no recibirá solicitudes.
Ten en cuenta que si process.env.PORT
no está configurado, se usa el puerto 8080
como predeterminado. Esto es necesario para probar la app de manera local, ya que process.env.PORT
no se configura durante las ejecuciones locales, solo lo hace cuando la app se ejecuta en App Engine. Puedes usar el puerto que prefieras para realizar las pruebas, pero en esta guía se emplea 8080
.
Ejecuta el servidor de manera local
Para ejecutar el servidor de manera local, haz lo siguiente:
Ejecuta
npm start
en tu terminal. Esto ejecutará el archivoserver.js
.Dirige el navegador web a
http://localhost:8080
.
Debes ver una página con el texto “Hello from App Engine!”.
Crea el archivo app.yaml
Un archivo app.yaml
especifica la configuración para el entorno de ejecución del servicio de App Engine. Tu servicio no se implementará sin este archivo.
En la carpeta
my-nodejs-service
, crea un archivo llamadoapp.yaml
.Agrega los contenidos a continuación:
Este es un archivo de configuración mínimo que le indica a App Engine la versión del entorno de ejecución de Node.js. El archivo
app.yaml
también puede especificar la configuración de red, la configuración de escalamiento y más. Para obtener más información, consulta la referencia deapp.yaml
.
En este punto, debes tener una estructura de archivos como la que se muestra a continuación:
my-nodejs-service/
app.yaml
package.json
server.js
Próximos pasos
Ahora que ya creaste un servidor web de Node.js sencillo que escucha en el puerto correcto y que especificaste el entorno de ejecución en un archivo app.yaml
, estás listo para implementar tu servicio en App Engine.
Pruébalo tú mismo
Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de App Engine en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
Probar App Engine gratis