Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Neste guia, você descobre como escrever um serviço da Web do Node.js para ser executado no ambiente padrão do App Engine. Para saber mais sobre o ambiente de execução do Node.js e como ele funciona, consulte esta página.
O App Engine inicia seu aplicativo executando npm start.
Seu servidor precisa detectar a porta especificada pelo process.env.PORT, uma
variável de ambiente
definida pelo ambiente de execução do App Engine.
Você precisa de um arquivo
app.yaml
para implantar seu serviço no App Engine.
Criar um servidor para detectar solicitações HTTP
O núcleo do serviço da Web é o servidor HTTP. No código de amostra deste guia, usamos a framework Express.js para processar solicitações HTTP. No entanto, é possível usar a framework da Web de sua escolha.
Crie uma nova pasta chamada my-nodejs-service para o serviço Node.js.
Navegue até a pasta no terminal e crie um arquivo package.json executando npm init.
Adicione o Express como uma dependência. Para isso, execute:
npminstallexpress
Confirme se o Express aparece no campo dependencies do arquivo package.json. Veja um exemplo:
{..."dependencies":{"express":"^4.16.3"}...}
Adicione um script start ao arquivo package.json:
"scripts":{"start":"node server.js"}
Crie um arquivo chamado server.js na mesma pasta e adicione o código a seguir:
constexpress=require('express');constapp=express();app.get('/',(req,res)=>{res.send('Hello from App Engine!');});// Listen to the App Engine-specified port, or 8080 otherwiseconstPORT=process.env.PORT||8080;app.listen(PORT,()=>{console.log(`Server listening on port ${PORT}...`);});
Este é um servidor da Web muito básico. Ele responde a todas as solicitações GET para o caminho raiz ('/') com o texto "Hello from App Engine!" Observe as últimas quatro linhas, em que o servidor está configurado para detectar a porta especificada por process.env.PORT, uma variável de ambiente definida pelo ambiente de execução do App Engine. Se o servidor não estiver configurado para fazer detecções nessa porta, ele não receberá solicitações.
Se process.env.PORT não estiver definido, a porta 8080 será usada como padrão. Isso é necessário para testar o aplicativo localmente, porque process.env.PORT não é definido durante execuções locais. Ele é definido apenas quando o aplicativo está em execução no App Engine. Neste guia, usamos a porta 8080, mas você pode utilizar a que preferir nos testes.
Executar o servidor localmente
Para executar o servidor no local:
Execute npm start no terminal. Isso executará o arquivo server.js.
Você verá uma página com o texto "Hello from App Engine!"
Crie o arquivo app.yaml.
Um arquivo app.yaml especifica as configurações do ambiente de execução do serviço do App Engine. Sem esse arquivo, não é possível implantar o serviço.
Na sua pasta my-nodejs-service, crie um arquivo chamado app.yaml.
Adicione o seguinte conteúdo:
runtime:nodejs20
Este é um arquivo de configuração mínima. Ele indica ao App Engine a versão do ambiente de execução do Node.js. O arquivo app.yaml também pode especificar configurações de rede, configurações de dimensionamento e muito mais. Para mais informações, consulte a referência de app.yaml.
Agora, você terá uma estrutura de arquivo como esta:
Agora que você criou um servidor da Web Node.js simples que detecta a porta correta e especificou o ambiente de execução em um arquivo app.yaml, está pronto para implantar o serviço no App Engine.
Faça um teste
Se você começou a usar o Google Cloud agora, crie uma conta para avaliar
o desempenho do App Engine em situações
reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e
implantar cargas de trabalho.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-03 UTC."],[[["\u003cp\u003eThis guide details how to create a Node.js web service for the App Engine standard environment, using the \u003ccode\u003epackage.json\u003c/code\u003e file for dependencies and \u003ccode\u003eapp.yaml\u003c/code\u003e for deployment configurations.\u003c/p\u003e\n"],["\u003cp\u003eApp Engine applications start via the \u003ccode\u003enpm start\u003c/code\u003e command, which you must configure in the \u003ccode\u003epackage.json\u003c/code\u003e file, typically to run your main server file.\u003c/p\u003e\n"],["\u003cp\u003eYour Node.js server must listen to the port specified by the \u003ccode\u003eprocess.env.PORT\u003c/code\u003e environment variable provided by App Engine to receive external requests.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eapp.yaml\u003c/code\u003e file is essential for deploying your service to App Engine, as it defines the runtime environment, such as the Node.js version.\u003c/p\u003e\n"],["\u003cp\u003eTo run and test the application locally, use \u003ccode\u003enpm start\u003c/code\u003e and visit \u003ccode\u003ehttp://localhost:8080\u003c/code\u003e in your browser, ensuring port 8080 is used as a fallback when \u003ccode\u003eprocess.env.PORT\u003c/code\u003e is not set.\u003c/p\u003e\n"]]],[],null,["# Write your web service with Node.js\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\n| **Note:** If you are deploying a new Node.js web service to Google Cloud, we recommend getting started with [Cloud Run](/run/docs/quickstarts/build-and-deploy/deploy-nodejs-service).\n\nThis guide shows how to write a Node.js web service to\nrun in the App Engine standard environment. To learn more about\nthe Node.js runtime and how it works, see\n[Node.js Runtime Environment](/appengine/docs/standard/nodejs/runtime).\n\nBefore you begin\n----------------\n\n- [Install Node.js LTS](https://nodejs.org/en/download/).\n\nKey points\n----------\n\n- You can use dependencies by listing them in your [`package.json`](https://docs.npmjs.com/files/package.json) file. See [Specifying Dependencies](/appengine/docs/standard/nodejs/specifying-dependencies) for more information.\n- App Engine starts your application by running `npm start`.\n- Your server must listen to the port specified by the `process.env.PORT`, an [environment variable](/appengine/docs/standard/nodejs/runtime#environment_variables) set by the App Engine runtime.\n- You need an [`app.yaml`](/appengine/docs/standard/nodejs/configuring-your-app-with-app-yaml) file to deploy your service to App Engine.\n\nCreate a server to listen for HTTP requests\n-------------------------------------------\n\nThe core of your web service is the HTTP server. The sample code in this guide\nuses the [Express.js](https://expressjs.com/)\nframework to handle HTTP requests, but you are free to use a web framework of\nyour choice.\n\n1. Create a new folder called `my-nodejs-service` for your Node.js\n service.\n\n2. Navigate to the folder in your terminal, and create a `package.json` file\n by running `npm init`.\n\n3. Add Express as a dependency by running:\n\n npm install express\n\n Confirm that Express appears in your `package.json` file's `dependencies`\n field. Here's an example: \n\n {\n ...\n \"dependencies\": {\n \"express\": \"^4.16.3\"\n }\n ...\n }\n\n4. Add a `start` script to your `package.json` file:\n\n \"scripts\": {\n \"start\": \"node server.js\"\n }\n\n5. Create a file called `server.js` in the same folder and add the following\n code:\n\n const express = require('express');\n const app = express();\n\n app.get('/', (req, res) =\u003e {\n res.send('Hello from App Engine!');\n });\n\n // Listen to the App Engine-specified port, or 8080 otherwise\n const PORT = process.env.PORT || 8080;\n app.listen(PORT, () =\u003e {\n console.log(`Server listening on port ${PORT}...`);\n });\n\nThis is a very basic web server - it responds to all `GET` requests to the root\npath (`'/'`) with the text \"Hello from App Engine!\" Note the last four lines,\nwhere the server is set to listen to the port specified by `process.env.PORT`,\nan [environment variable](/appengine/docs/standard/nodejs/runtime#environment_variables)\nset by the App Engine runtime. If your server isn't set to listen to\nthis port, it will not receive requests.\n\nNotice that if `process.env.PORT` is not set, port `8080` is used as\na default. This is necessary for testing your app locally, because\n`process.env.PORT` doesn't get set during local runs - it is only set when\nyour app is running on App Engine. You can use whichever port\nyou prefer for testing, but this guide uses `8080`.\n\nRun the server locally\n----------------------\n\nTo run the server locally:\n\n1. Run `npm start` in your terminal. This will run your `server.js` file.\n\n2. Point your web browser to \u003chttp://localhost:8080\u003e.\n\nYou should see a page with the text \"Hello from App Engine!\"\n\nCreate the `app.yaml` file\n--------------------------\n\nAn `app.yaml` file specifies settings for your App Engine service's\nruntime environment. Your service will not deploy without this file.\n\n1. In your `my-nodejs-service` folder, create a file called\n `app.yaml`.\n\n2. Add the following contents:\n\n runtime: nodejs20\n\n This is a minimal configuration file, indicating to App Engine the\n version of the Node.js runtime. The `app.yaml` file can also specify network\n settings, scaling settings, and more. For more information, see the\n [`app.yaml` reference](/appengine/docs/standard/reference/app-yaml).\n\nAt this point, you should have a file structure like the following: \n\n my-nodejs-service/\n app.yaml\n package.json\n server.js\n\nNext steps\n----------\n\nNow that you've created a simple Node.js web server that listens to the correct\nport and you've specified the runtime in an `app.yaml` file, you're ready to\n[deploy your service on App Engine](/appengine/docs/standard/nodejs/building-app/deploying-web-service).\n\nTry it for yourself\n-------------------\n\n\nIf you're new to Google Cloud, create an account to evaluate how\nApp Engine performs in real-world\nscenarios. New customers also get $300 in free credits to run, test, and\ndeploy workloads.\n[Try App Engine free](https://console.cloud.google.com/freetrial)"]]