Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Panduan ini menunjukkan cara menulis layanan web Node.js untuk dijalankan di lingkungan standar App Engine. Untuk mempelajari lebih lanjut runtime Node.js dan cara kerjanya, lihat Lingkungan Runtime Node.js.
Anda dapat menggunakan dependensi dengan mencantumkannya di file package.json. Lihat Menentukan Dependensi untuk mengetahui informasi selengkapnya.
App Engine memulai aplikasi Anda dengan menjalankan npm start.
Server Anda harus memproses port yang ditentukan oleh process.env.PORT, yaitu variabel lingkungan yang ditetapkan oleh runtime App Engine.
Anda memerlukan file app.yaml untuk men-deploy layanan ke App Engine.
Membuat server untuk memproses permintaan HTTP
Inti layanan web Anda adalah server HTTP. Kode contoh dalam panduan ini menggunakan framework Express.js untuk menangani permintaan HTTP, tetapi Anda bebas menggunakan framework web pilihan Anda.
Buat folder baru bernama my-nodejs-service untuk layanan Node.js Anda.
Buka folder di terminal Anda, lalu buat file package.json dengan menjalankan npm init.
Tambahkan Express sebagai dependensi dengan menjalankan:
npminstallexpress
Pastikan bahwa Express muncul di kolom dependencies file package.json Anda. Berikut contohnya:
{..."dependencies":{"express":"^4.16.3"}...}
Tambahkan skrip start ke file package.json Anda:
"scripts":{"start":"node server.js"}
Buat file bernama server.js di folder yang sama dan tambahkan kode berikut:
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}...`);});
Ini adalah server web yang sangat dasar - server ini merespons semua permintaan GET ke jalur root ('/') dengan teks "Hello from App Engine!" Perhatikan empat baris terakhir di mana server disetel untuk memproses port yang ditentukan oleh process.env.PORT, yaitu variabel lingkungan yang ditetapkan oleh runtime App Engine. Jika server Anda tidak disetel untuk memproses port ini, server Anda tidak akan menerima permintaan.
Perhatikan bahwa jika process.env.PORT tidak ditetapkan, port 8080 akan digunakan sebagai default. Hal ini diperlukan untuk menguji aplikasi Anda secara lokal, karena process.env.PORT tidak ditetapkan selama operasi lokal - port tersebut hanya ditetapkan saat aplikasi Anda berjalan di App Engine. Anda dapat menggunakan port mana pun yang Anda inginkan untuk pengujian, tetapi panduan ini menggunakan 8080.
Menjalankan server secara lokal
Untuk menjalankan server secara lokal:
Jalankan npm start di terminal Anda. Tindakan ini akan menjalankan file server.js Anda.
Anda akan melihat halaman dengan teks "Hello from App Engine!"
Buat file app.yaml
File app.yaml menentukan setelan untuk lingkungan runtime layanan App Engine Anda. Layanan Anda tidak akan di-deploy tanpa file ini.
Di folder my-nodejs-service, buat file bernama app.yaml.
Tambahkan konten berikut:
runtime:nodejs20
Ini adalah file konfigurasi minimal, yang menunjukkan versi runtime Node.js kepada App Engine. File app.yaml juga dapat menentukan setelan jaringan, setelan penskalaan, dan lainnya. Untuk informasi selengkapnya, lihat referensi app.yaml.
Pada tahap ini, Anda seharusnya memiliki struktur file seperti berikut:
Setelah membuat server web Node.js sederhana yang memproses port yang benar dan menentukan runtime dalam file app.yaml, Anda siap untuk men-deploy layanan Anda di App Engine.
Coba sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa App Engine dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-04 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)"]]