Google AppEngine Node.js:部署API和WepApp

我是GoogleCloud的新手。 我已经按照以下步骤操作(用于Node.js):

  1. build立我自己的My-Hello-Worldnetworking应用程序
  2. 部署到AppEngine
  3. 它工作正常https://My-Hello-World.appspot.com

  4. 用project-id构build我自己的EndPoints API作为My-Hello-World

  5. 部署到AppEngine
  6. 它也工作正常https://My-Hello-World.appspot.com/api/test/ *

我的问题是我部署EndPoints API的时候,我的MyHelloWorld.appspot.com不再作为webapp运行,它作为API响应。 如何configuration使我的项目同时运行的webapp和api部署到AppEngine?

https://My-Hello-World.appspot.com – >以webapp运行

https://My-Hello-World.appspot.com/api/test/ * – >以api运行

谢谢。

所以假设

  • 您的terminalAPI和Web应用程序在同一个GCP项目中
  • 每个都有自己的app.yaml

您可以将它们部署到同一个项目的应用程序引擎,并将它们作为单独的服务一起运行。 所有你需要做的就是在你的app.yaml添加一个服务标签

 service: api runtime: nodejs env: flex env_variables: NODE_ENV : staging 

这是我部署到分段的ExpressJS RestAPI的样子。

您可以保持Web应用程序的app.yaml相同,因为它将用作默认服务。

然后你将能够访问

  • Web应用程序
    • https ==> my-hello-world.appspot.com
    • http ==> my-hello-world.appspot.com
  • API
    • https ==> api-dot-my-hello-world.appspot.com
    • http ==> api.my-hello-world.appspot.com

参考

  • 如何请求路由
  • 用app.yamlconfiguration你的app