在将Nuxt.js部署到GAE作为SSR时需要注意的事项

首先

最近,GAE已经对Node.js 10进行了支持。有关详细信息,请参阅https://cloud.google.com/appengine/docs/standard/nodejs/。

查看Qiita文章后,发现将Nuxt.js部署到GAE时,app.yaml文件的描述非常简单,如果直接部署为SSR,会很快因内存不足而崩溃,并产生500错误。

runtime: nodejs8
env: standard

解决方案 ‘àn)

如果按照以下的app.yaml配置,可以在一定程度上避免内存不足问题。

app.yaml的相关信息已在此处详细描述。
https://cloud.google.com/appengine/docs/standard/nodejs/config/appref

runtime: nodejs10

instance_class: F2

handlers:
  - url: /_nuxt
    static_dir: .nuxt/dist/client

  - url: /(.*\.(gif|png|jpg|ico|txt))$
    static_files: static/\1
    upload: static/.*\.(gif|png|jpg|ico|txt)$

  - url: /.*
    script: auto
    secure: always

关于app.yaml的描述

运行时间

我认为这是Nuxt.js v2,所以我们将使用nodejs10。

实例类

当使用Nuxt.js进行服务器端渲染时,默认的F1实例可能不够强大,建议选择F2实例。有关详细的价格表,请访问此处:
https://cloud.google.com/appengine/pricing

处理者

可以使用handlers选项将静态文件通过CDN进行分发。
※这一点非常重要。

关于handlers

请参考以下链接:https://cloud.google.com/appengine/docs/standard/python/config/appref#handlers_element

如果您认为这仍然很困难,我认为您需要设置 scaling_elements 等参数并进行试验和错误。请参考此链接:https://cloud.google.com/appengine/docs/standard/python/config/appref#scaling_elements

bannerAds