【发布时间】:2018-11-17 10:17:14
【问题描述】:
我是 AWS 新手。我找不到任何关于如何在 AWS 上部署 Nuxt SSR 应用程序的解释,尽管我可以找到关于如何在那里部署静态 Nuxt 应用程序的解释。是否可以在 AWS 上部署 Nuxt SSR 应用程序?我已经花了很长时间了,所以请让我寻求您的帮助。谢谢。
【问题讨论】:
标签: amazon-web-services nuxt.js
我是 AWS 新手。我找不到任何关于如何在 AWS 上部署 Nuxt SSR 应用程序的解释,尽管我可以找到关于如何在那里部署静态 Nuxt 应用程序的解释。是否可以在 AWS 上部署 Nuxt SSR 应用程序?我已经花了很长时间了,所以请让我寻求您的帮助。谢谢。
【问题讨论】:
标签: amazon-web-services nuxt.js
对于 AWS,通常有几种方法可以给猫剥皮。然而,我已经使用 AWS Copilot 部署了一个带有 AWS CloudFront 和 AWS Fargate/ECS 的容器化 SSR NUXT 应用程序。 AWS Amplify 非常适合静态部署。
如果您实际上是在 ssr: true(这是默认配置)和/或 target: 'server' 中运行 NUXT 应用程序,那么您不能以与部署通常的“静态”Web 应用程序相同的方式部署它(例如,使用 AWS 托管的 S3 不适用于 SSR 应用程序)。因此,如果您运行“nuxt build”来构建应用程序,您将看到一个(隐藏的).nuxt/ 目录将在您的应用程序目录中生成。但是,如果您运行“nuxt generate”,您将在应用程序目录中看到一个未隐藏的 /dist 文件夹。在后一种情况下,您很可能没有利用 NUXT 的 SSR 功能(检查 nuxt.config.js 文件中的 ssr 和 target 属性要查看它是否分别是“通用”和/或“服务器”,请参阅 ssr here 和目标 here 上的文档,并且可以使用 CloudFront 或 AWS Amplify 部署到 AWS S3。
如果您使用的是 SSR,那么来自 AWS 的 this 教程将帮助您将应用程序的容器化版本部署到 AWS ECS。
更新:本周我与 AWS 进行了交谈,他建议 AWS Amplify 现在支持容器部署,因此您可以将应用程序 docker 化并轻松部署到那里。
【讨论】:
是的,如果您正确配置计算资源,您几乎可以在 AWS 上部署任何东西。静态网站可以直接从 S3 提供服务,但对于那些具有动态后端的网站,您需要使用 EC2 或 Lambda 之类的东西。我找到了使用 Lambda 和无服务器框架部署 Nuxt SSR 应用程序的指南:https://dzone.com/articles/a-crash-course-on-serverless-side-rendering-with-v
您也可以使用 EC2 实例作为计算引擎,但要做到这一点,您需要安装所有依赖项并管理主机操作系统和 Web 服务器。希望对您有所帮助!
【讨论】:
现在专门为此提供了一项服务,称为 Fume https://fume.app
【讨论】: