如何在NGINX中路由静态文件和其他应用程序?

时间:2019-01-10 19:52:20

标签: javascript node.js docker nginx next.js

我想为我的“ /”路由在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)

1 个答案:

答案 0 :(得分:0)

    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;
    }

}