用于 node.js 错误的 Nginx 反向代理无法在视图目录中查找视图“默认”

ali*_*eza 5 nginx node.js

我想使用 Nginx 作为我的 express.js 应用程序的反向代理。

这是我的 nginx 配置:

server {
    listen 80;

    server_name  my server ip address;

    location / {
        proxy_pass http://myip:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
Run Code Online (Sandbox Code Playgroud)

它是我的 app.js :

var express = require('express');
var mongoose = require('mongoose');
var app = express();

app.set('view engine' , 'ejs');
app.use(express.static('public'));

app.get('/song', function(req, res, next) {

   // my route
}
Run Code Online (Sandbox Code Playgroud)

没有 nginx,我的应用程序运行良好,但是当我使用 nginx 作为反向代理并转到我的song路由节点时,会出现此错误:Failed to lookup view "default" in views directory

我想知道我错在哪里。谢谢。

Sur*_*eja 1

配置 Nginx 服务器后我遇到了同样的问题。我找到了解决方案。

该节点无法找到项目中“views”文件夹的路径。所以定义路径。

var path = require("path");

app.set('view engine' , 'ejs');
app.set("views", path.join(__dirname, "views"));
Run Code Online (Sandbox Code Playgroud)