如何将nextjs部署到不是根目录的目录中

时间:2020-02-29 07:04:33

标签: node.js nginx webpack next.js

最近,我了解了有关nextjs的一些知识,因为我想通过使用React创建一个对SEO友好的网站。一切都很好,直到遇到问题为止。

关于如何将nextjs应用程序部署到不是根目录的目录中,例如'/ next'。我为nextjs使用简单的配置,使用默认的节点服务器侦听3000端口,然后使用nginx进行反向操作。

next.config看起来像:

enter image description here

nginx conf:

enter image description here

当我访问localhost:8080 / next时,我得到了nextjs提供的404页面,css或js也是404。nextjs或nginx的配置似乎是错误的。

1 个答案:

答案 0 :(得分:1)

您当前的配置告诉nginx将网址一对一映射,这意味着/next/what-ever将被映射到http://localhost:3000/next/what-ever

要解决此问题,您需要添加一个额外的斜杠。

server {
  ...
  location /next/ {
    proxy_pass http://localhost:3000/ // <----  this last slash tells to drop the prefix
  }
}

有关更多信息,请阅读https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/#passing-a-request-to-a-proxied-server