如何在生产环境中使用SSR正确运行gatsby

Nic*_*ert 6 node.js reactjs gatsby

我很难找到有关如何在自定义生产环境(不是 Gatsby Cloud 或 Netlify)中正确设置使用 SSR(服务器端渲染)的 gatsby 端的任何有用文档

在他们的 SSR 文档中有一个部分

服务器端渲染需要一个正在运行的 NodeJS 服务器。您可以将运行 gatsby 服务器的 NodeJS 放在像 Fastly 这样的内容交付网络 (CDN) 后面,但这也需要额外的基础设施(例如监控、日志记录和崩溃恢复)。

所以我的总体想法是将这些全部放入 Docker 容器中并运行gatsby serve

但是根据gatsby servehttps://www.gatsbyjs.com/docs/reference/gatsby-cli/#serve)的文档,这不应该用于生产

在 Gatsby 站点的根部,提供站点的生产版本以进行测试

使用服务生产可以吗?使用时需要注意哪些安全问题?是否有详细的文档如何在自定义环境中进行设置?

小智 2

没有关于自定义服务器上的 SSR 模式的文档。但一般来说,您希望使用 Express 之类的东西来提供静态文件(而不是 gatsby 服务),然后您可以查看 gatsby-plugin-netlify 和 gatsby-plugin-fastify 来获取灵感,因为它们支持 SSR。

\n

您\xe2\x80\x99d 必须使用我作为灵感提到的那些插件自己编写服务和运行时 SSR 逻辑。该框架不处理应用程序的服务,而 Gatsby Cloud 和 Netlify 等平台则负责处理。或者就您而言,是自定义服务器。

\n

您可能会发现这很有用https://github.com/wille/gatsby-plugin-express还应该知道有很多超级简单的部署方法(Gatsby Cloud、Netlify、Vercel),因此您不需要\xe2\x80\x99t你自己的服务器。你可以\xe2\x80\x99t使用serve命令的原因是缓存、重定向、标头等。

\n