使用 NGINX 在子目录上托管 Gatsby
Hosting Gatsby on a subdirectory using NGINX
如何使用 nginx 在子目录上托管 gatsby.js,我已经尝试使用 proxy_pass http://127.0.0.1:8000
和 gatsby develop
来做到这一点,但我遇到了 [=34= 的问题].有谁知道如何在我尝试使用以下重写代码 rewrite ^([^.\?]*[^/])$ / permanent
的子目录上托管 gatsby。但这没有任何作用。
修复
好吧,一开始我使用 gatsby develop
这样我就可以使用 HMR,但我猜乞丐不能成为选择者,所以根据 fabian 所说的,我做了以下操作。
这是我最终所做的,
我在 gatsby-config.js
文件中添加了行 pathPrefix: '/blog'
我 运行 gatsby build --prefix-paths
在我项目的主目录上
并将 public
文件夹中的内容复制到我网站根目录中名为 blog
的文件夹中,它运行良好(没有 HMR,就是这样)。
GatsbyJS是一个静态站点生成器,也就是说输出静态的HTML、CSS和JS。您实际上不需要设置 NodeJS 服务器来实现 运行。 gatsby develop
只能用于开发(本地),不能用于生产。
基本上,您需要 运行 gatsby build
和 move/upload 本地 public
目录中的所有文件到您服务器上的子目录。当然,该子目录需要是 publicly available/served via NGINX、Apache 或类似目录。例如:
location /subdirectory {
root /html/my-site/public;
index.html;
}
找到more details on deploying GatsbyJS here. Also, don't forget to add a Path Prefix.
如何使用 nginx 在子目录上托管 gatsby.js,我已经尝试使用 proxy_pass http://127.0.0.1:8000
和 gatsby develop
来做到这一点,但我遇到了 [=34= 的问题].有谁知道如何在我尝试使用以下重写代码 rewrite ^([^.\?]*[^/])$ / permanent
的子目录上托管 gatsby。但这没有任何作用。
修复
好吧,一开始我使用 gatsby develop
这样我就可以使用 HMR,但我猜乞丐不能成为选择者,所以根据 fabian 所说的,我做了以下操作。
这是我最终所做的,
我在 gatsby-config.js
文件中添加了行 pathPrefix: '/blog'
我 运行 gatsby build --prefix-paths
在我项目的主目录上
并将 public
文件夹中的内容复制到我网站根目录中名为 blog
的文件夹中,它运行良好(没有 HMR,就是这样)。
GatsbyJS是一个静态站点生成器,也就是说输出静态的HTML、CSS和JS。您实际上不需要设置 NodeJS 服务器来实现 运行。 gatsby develop
只能用于开发(本地),不能用于生产。
基本上,您需要 运行 gatsby build
和 move/upload 本地 public
目录中的所有文件到您服务器上的子目录。当然,该子目录需要是 publicly available/served via NGINX、Apache 或类似目录。例如:
location /subdirectory {
root /html/my-site/public;
index.html;
}
找到more details on deploying GatsbyJS here. Also, don't forget to add a Path Prefix.