是否可以在AWS上部署Nuxt SSR应用程序?

时间:2018-11-17 10:17:14

标签: amazon-web-services nuxt

我是AWS的新手。尽管我可以找到有关如何在此处部署静态Nuxt应用程序的方法,但是我找不到有关如何在AWS上部署Nuxt SSR应用程序的任何说明。是否可以在AWS上部署Nuxt SSR应用程序?我已经花了足够长的时间,所以请让我寻求您的帮助。谢谢。

3 个答案:

答案 0 :(得分:3)

谈到 AWS,通常有几种方法可以给猫剥皮。然而,我使用 AWS Copilot 部署了一个容器化的 SSR NUXT 应用程序,其中包含 AWS CloudFront 和 AWS Fargate/ECS。 AWS Amplify 非常适合静态部署。

如果您实际上是在 ssr: true(这是默认配置)和/或 target: 'server' 中运行 NUXT 应用程序,那么您不能以与部署通常的“静态”Web 应用程序相同的方式部署它(例如,使用 AWS 托管的 S3 不适用于 SSR 应用程序)。因此,如果您运行“nuxt build”来构建应用程序,您将看到一个(隐藏的) .nuxt/ 目录将在您的应用程序目录中生成。但是,如果您运行“nuxt generate”,您将在应用程序目录中看到一个未隐藏的 /dist 文件夹。在后一种情况下,您很可能没有利用 NUXT 的 SSR 功能(检查 nuxt.config.js 文件中的 ssrtarget 属性要分别查看它是“通用”和/或“服务器”,请参阅有关 ssr here 和目标 here) 的文档,并且可以使用 CloudFront 或 AWS Amplify 部署到 AWS S3。

如果您使用的是 SSR,那么来自 AWS 的 this 教程将帮助您将应用程序的容器化版本部署到 AWS ECS。

更新:我本周与 AWS 进行了交谈,他建议 AWS Amplify 现在支持容器部署,因此您可以轻松地对应用程序进行 dockerise 并在那里部署。

答案 1 :(得分:2)

是的,如果正确配置计算资源,则几乎可以在AWS上部署任何内容。静态网站可以直接从S3服务,但是对于那些具有动态后端的网站,则需要使用EC2或Lambda之类的东西。我找到了有关使用Lambda和Serverless Framework部署Nuxt SSR应用程序的指南:https://dzone.com/articles/a-crash-course-on-serverless-side-rendering-with-v

您还可以将EC2实例用作您的计算引擎,但要这样做,您将需要安装所有依赖项并管理主机操作系统和Web服务器。希望有帮助!

答案 2 :(得分:1)

有一种专门为此而设计的服务,现在称为 Fume https://fume.app