En esta guía se muestra cómo escribir un servicio web de Node.js para que se ejecute en el entorno estándar de App Engine. Para obtener más información sobre el tiempo de ejecución de Node.js y cómo funciona, consulta Entorno de tiempo de ejecución de Node.js.
Antes de empezar
Puntos clave
- Puedes usar las dependencias incluyéndolas en el archivo
package.json
. Consulta más información en Especificar dependencias. - App Engine inicia tu aplicación ejecutando
npm start
. - Tu servidor debe usar el puerto especificado por
process.env.PORT
, una variable de entorno definida por el tiempo de ejecución de App Engine. - Necesitas un archivo
app.yaml
para desplegar tu servicio en App Engine.
Crear un servidor para escuchar solicitudes HTTP
El núcleo de tu servicio web es el servidor HTTP. El código de ejemplo de esta guía usa el framework Express.js para gestionar las solicitudes HTTP, pero puedes usar el framework web que quieras.
Crea una carpeta llamada
my-nodejs-service
para tu servicio Node.js.Ve a la carpeta en tu terminal y crea un archivo
package.json
ejecutandonpm init
.Añade Express como dependencia ejecutando el siguiente comando:
npm install express
Confirma que Express aparece en el campo
dependencies
del archivopackage.json
. Veamos un ejemplo:{ ... "dependencies": { "express": "^4.16.3" } ... }
Añade una secuencia de comandos
start
a tu archivopackage.json
:"scripts": { "start": "node server.js" }
Crea un archivo llamado
server.js
en la misma carpeta y añade el siguiente código:
Se trata de un servidor web muy básico que responde a todas las solicitudes GET
a la ruta raíz ('/'
) con el texto "Hello from App Engine!". Fíjate en las cuatro últimas líneas, donde se define que el servidor debe usar el puerto especificado por process.env.PORT
, una variable de entorno definida por el tiempo de ejecución de App Engine. Si tu servidor no está configurado para escuchar este puerto, no recibirá solicitudes.
Ten en cuenta que, si process.env.PORT
no se define, se usará el puerto 8080
de forma predeterminada. Esto es necesario para probar tu aplicación de forma local, ya que process.env.PORT
no se define durante las ejecuciones locales, sino solo cuando tu aplicación se ejecuta en App Engine. Puedes usar el puerto que prefieras para hacer pruebas, pero en esta guía se usa 8080
.
Ejecutar el servidor de forma local
Para ejecutar el servidor de forma local, haz lo siguiente:
Ejecuta
npm start
en tu terminal. Se ejecutará el archivoserver.js
.Dirige tu navegador web a
http://localhost:8080
.
Debería aparecer una página con el texto "Hello from App Engine!".
Crea el archivo app.yaml
Un archivo app.yaml
especifica los ajustes del entorno de ejecución de tu servicio de App Engine. El servicio no se desplegará sin este archivo.
En la carpeta
my-nodejs-service
, crea un archivo llamadoapp.yaml
.Añade el siguiente contenido:
Este es un archivo de configuración mínimo que indica a App Engine la versión del entorno de ejecución de Node.js. El archivo
app.yaml
también puede especificar ajustes de red, ajustes de escalado y más. Para obtener más información, consulta la referencia deapp.yaml
.
En este punto, deberías tener una estructura de archivos como la siguiente:
my-nodejs-service/
app.yaml
package.json
server.js
Pasos siguientes
Ahora que has creado un servidor web Node.js sencillo que escucha el puerto correcto y has especificado el tiempo de ejecución en un archivo app.yaml
, ya puedes desplegar tu servicio en App Engine.
Pruébalo
Si es la primera vez que utilizas Google Cloud, crea una cuenta para evaluar el rendimiento de App Engine en situaciones reales. Los nuevos clientes también reciben 300 USD en crédito gratuito para ejecutar, probar y desplegar cargas de trabajo.
Probar App Engine gratis