在将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