本指南介绍如何编写要在 App Engine 标准环境中运行的 Node.js Web 服务。如需详细了解 Node.js 运行时及其工作原理,请参阅 Node.js 运行时环境。
准备工作
要点
- 您可以在
package.json
文件中列出要使用的依赖项。如需了解详情,请参阅指定依赖项。 - App Engine 通过运行
npm start
来启动您的应用。 - 您的服务器必须侦听
process.env.PORT
指定的端口,此参数是 App Engine 运行时设置的环境变量。 - 您需要使用
app.yaml
文件将服务部署到 App Engine。
创建服务器以侦听 HTTP 请求
Web 服务的核心是 HTTP 服务器。本指南中的示例代码使用 Express.js 框架来处理 HTTP 请求,您也可以随意使用自己选择的 Web 框架。
为您的 Node.js 服务创建名为
my-nodejs-service
的新文件夹。在您的终端中导航到该文件夹,然后通过运行
npm init
创建package.json
文件。通过运行以下命令将 Express 添加为依赖项:
npm install express
确认 Express 出现在
package.json
文件的dependencies
字段中。示例如下:{ ... "dependencies": { "express": "^4.16.3" } ... }
将
start
脚本添加到您的package.json
文件中:"scripts": { "start": "node server.js" }
在同一文件夹中创建名为
server.js
的文件,然后添加以下代码:
这是一个非常基本的网络服务器,它以文本“Hello from App Engine!”响应对根路径 ('/'
) 的所有 GET
请求。请注意最后四行,其中服务器设置为侦听由 process.env.PORT
指定的端口,此参数是 App Engine 运行时设置的环境变量。如果您的服务器未设置为侦听此端口,则它不会收到请求。
请注意,如果未设置 process.env.PORT
,则默认使用端口 8080
。这是本地测试应用时的必要步骤,因为本地运行期间无法设置 process.env.PORT
,只有当您的应用正在 App Engine 上运行时才可以设置此参数。您可以使用您偏好的任何端口进行测试,本指南中使用的是 8080
。
在本地运行服务器
要在本地运行服务器,请执行以下操作:
在您的终端中运行
npm start
。这将运行您的server.js
文件。将网络浏览器指向
http://localhost:8080
。
您将会看到显示文本“Hello from App Engine!”的页面
创建 app.yaml
文件
app.yaml
文件用于指定 App Engine 服务的运行时环境的设置。如果没有此文件,您的服务将无法部署。
在您的
my-nodejs-service
文件夹中,创建一个名为app.yaml
的文件。添加以下内容:
这是一个最低配置文件,向 App Engine 指示 Node.js 运行时的版本。
app.yaml
文件还可以指定网络设置、扩缩设置等。如需了解详情,请参阅app.yaml
参考文档。
此时的文件结构应如下所示:
my-nodejs-service/
app.yaml
package.json
server.js
后续步骤
现在您已创建了一个简单的 Node.js 网络服务器来侦听正确的端口,并且已在 app.yaml
文件中指定了运行时,接下来便可以在 App Engine 上部署您的服务。
自行试用
如果您是 Google Cloud 新手,请创建一个账号来评估 App Engine 在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
免费试用 App Engine