已部署一个Node.js应用,如何在Google App Engine同时部署第二个?
如何在Google App Engine上同时运行两个Node.js应用
没问题!要让你现有的客户端应用和新的Express API应用同时在GAE上运行,核心是利用Google App Engine的**多服务(Services)**特性——把两个应用作为独立的服务部署到同一个项目中就行,步骤非常清晰:
1. 为API服务创建专属配置文件
进入/code/api目录,新建一个app.yml配置文件(和客户端的配置完全分开)。关键要加上service: api字段,用来标记这是独立的API服务,避免覆盖已部署的默认客户端服务。参考配置如下:
runtime: nodejs10 service: api # 这个字段是核心,必须指定,不然会替换掉默认的客户端服务 resources: memory_gb: 4 cpu: 1 disk_size_gb: 10 manual_scaling: instances: 1
你可以根据API的实际资源需求调整memory_gb、cpu这些参数,不用和客户端完全一致。
2. 部署API服务
打开终端,先切换到API应用的目录:
cd /code/api
然后运行部署命令:
gcloud app deploy
部署过程中会提示你确认服务名称是api,按提示确认即可完成部署。
3. 访问两个独立服务
- 原有的客户端应用还是通过
gcloud app browse访问,它对应GAE的default服务,域名格式为https://<你的项目ID>.appspot.com - 新部署的API服务可以用以下命令直接打开:
它的独立域名是gcloud app browse --service=apihttps://api-dot-<你的项目ID>.appspot.com,你可以在客户端代码里用这个域名来调用API接口。
额外注意事项
- 服务名称只能使用小写字母、数字和连字符,不能包含大写字母或特殊字符
- 后续更新其中一个服务时,只需要进入对应目录运行
gcloud app deploy即可,不会影响另一个服务的运行 - 你可以在Google Cloud控制台的「App Engine -> 服务」页面查看和管理这两个服务的状态
内容的提问来源于stack exchange,提问作者Rauññ
相关产品推荐
相关产品推荐

