如何在NGINX中路由静态文件和不同的应用程序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在NGINX中路由静态文件和不同的应用程序?相关的知识,希望对你有一定的参考价值。

我想在我的nginx服务器上为我的“/”路由提供静态文件,并为所有其他路由提供来自NextJS服务器/上游的文件。

如果我关闭NextJS服务器(目前在开发模式下运行),我可以在“/”上看到我的静态页面,但当我回去再次打开服务器时,NextJS服务器再次处理所有事情。 。

我是Nginx的新手,所以任何帮助都将不胜感激!

upstream nextjs_node {
    ip_hash;
    server remora_nextjs_1:3000;
}
...
location = / {
  proxy_set_header Access-Control-Allow-Origin *;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $host;
}
...
location / {
  proxy_set_header Access-Control-Allow-Origin *;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $host;

  proxy_pass http://nextjs_node;
}

我们的想法是仅为初始路由提供静态文件,并为所有其他文件运行节点应用程序(NextJS)

答案
    server {
    listen 80;
    server_name test.example;
# Logs
    error_log  /var/www/html/example/logs/nginx-error.log;
    access_log /var/www/html/example/logs/nginx-access.log;
    root [path to your folder];
    index index.html;

    location / {
        try_files $uri $uri /index.html;
    }

}

以上是关于如何在NGINX中路由静态文件和不同的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何设置NGINX以根据位置(在相同的server_name下)部署不同的单页应用程序(SPA的...即静态文件)和子路由

反应路由器,nginx,节点,静态文件

如何使用 Express 和 NGINX 设置路由?

静态nginx资源文件解析成路由怎么办thinkphp

如何静态路由配置?

Nodejs WEB服务器 静态文件托管 GET POST路由 EJS模板引擎