如何在生产环境中正确使用SSR 运行 gatsby
How to properly run gatsby with SSR in a production environment
我很难找到有关如何在自定义生产环境(不是 Gatsby Cloud 或 Netlify)中正确设置使用 SSR(服务器端渲染)的 gatsby 端的任何有用文档
在他们的 SSR 文档中有一节
Server-Side Rendering requires a running NodeJS server. You can put NodeJS running gatsby serve behind a content delivery network (CDN) like Fastly, however that also requires additional infrastructure (like monitoring, logging, and crash-recovery).
所以我的总体想法是将所有这些都放在一些 Docker 容器和 运行 gatsby serve
中
但是根据 gatsby serve
(https://www.gatsbyjs.com/docs/reference/gatsby-cli/#serve ) 的文档,这不应该用于生产
At the root of a Gatsby site, serve the production build of your site for testing
使用serve production可以吗?使用时需要注意哪些安全问题?是否有详细的文档说明如何在自定义环境中进行设置?
自定义服务器上没有关于 SSR 模式的文档。但一般来说,你会想使用 Express 之类的东西来提供静态文件(不是 gatsby 服务),然后你可以查看 gatsby-plugin-netlify 和 gatsby-plugin-fastify 以获取灵感,因为它们支持 SSR。
您必须使用我作为灵感提到的那些插件自己编写服务和运行时 SSR 逻辑。该框架不处理应用程序的服务,Gatsby Cloud 和 Netlify 等平台会处理。或者在您的情况下,自定义服务器。
您可能会发现这很有用 https://github.com/wille/gatsby-plugin-express 还应该知道有很多超级简单的部署方法(Gatsby Cloud、Netlify、Vercel),因此您不需要自己的服务器。不能使用 serve 命令的原因是缓存、重定向、headers 等
我很难找到有关如何在自定义生产环境(不是 Gatsby Cloud 或 Netlify)中正确设置使用 SSR(服务器端渲染)的 gatsby 端的任何有用文档
在他们的 SSR 文档中有一节
Server-Side Rendering requires a running NodeJS server. You can put NodeJS running gatsby serve behind a content delivery network (CDN) like Fastly, however that also requires additional infrastructure (like monitoring, logging, and crash-recovery).
所以我的总体想法是将所有这些都放在一些 Docker 容器和 运行 gatsby serve
但是根据 gatsby serve
(https://www.gatsbyjs.com/docs/reference/gatsby-cli/#serve ) 的文档,这不应该用于生产
At the root of a Gatsby site, serve the production build of your site for testing
使用serve production可以吗?使用时需要注意哪些安全问题?是否有详细的文档说明如何在自定义环境中进行设置?
自定义服务器上没有关于 SSR 模式的文档。但一般来说,你会想使用 Express 之类的东西来提供静态文件(不是 gatsby 服务),然后你可以查看 gatsby-plugin-netlify 和 gatsby-plugin-fastify 以获取灵感,因为它们支持 SSR。
您必须使用我作为灵感提到的那些插件自己编写服务和运行时 SSR 逻辑。该框架不处理应用程序的服务,Gatsby Cloud 和 Netlify 等平台会处理。或者在您的情况下,自定义服务器。
您可能会发现这很有用 https://github.com/wille/gatsby-plugin-express 还应该知道有很多超级简单的部署方法(Gatsby Cloud、Netlify、Vercel),因此您不需要自己的服务器。不能使用 serve 命令的原因是缓存、重定向、headers 等