Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js nginx-linux服务器上的Nodejs-express应用程序_Node.js_Redirect_Nginx_Port_Nas - Fatal编程技术网

Node.js nginx-linux服务器上的Nodejs-express应用程序

Node.js nginx-linux服务器上的Nodejs-express应用程序,node.js,redirect,nginx,port,nas,Node.js,Redirect,Nginx,Port,Nas,我已经用nodejs express创建了我的第一个nodejs应用程序。 服务器正在运行 var express = require("express"); global.app = express(); require("src/app-modules/common/yamaha/yamaha.controller.api"); app.listen(8080, function() { console.log("Listening on http://127.0.0.1:8080"); }

我已经用nodejs express创建了我的第一个nodejs应用程序。 服务器正在运行

var express = require("express");
global.app = express();
require("src/app-modules/common/yamaha/yamaha.controller.api");
app.listen(8080, function() {
console.log("Listening on http://127.0.0.1:8080");
});
windows上的开发计算机正在运行。 现在我尝试在Synology NAS上发布此应用程序。 我在url://192.168.1.151/YamahaCtrl上访问此应用程序 我有一个404错误。 更新2:我发现了真正的问题是什么:如何从n配置nginx服务器 路由在yamaha.controller.api上定义如下:

    app.get("/api/yamaha/getBasicInfo", function (req, res) {
        //do something
    });
我找到了一个要安装在NAS上的nodejs 8测试包,现在我有了nodejs 8版。但错误依然存在

所以nodejs应用服务器在localhost:8080上是打开的,但是url访问在localhost:8080上是打开的

这意味着问题在于如何在NAS上配置虚拟主机,以及应该使用节点服务器上的哪个端口

更新:问题是:需要在Synology上安装的nginx服务器上配置重定向端口。我发现这篇文章:

我创建了配置文件/etc/nginx/sites available/default:

server {
listen 80;

server_name _;

location / {
    proxy_pass http://127.0.0.1:8080;
    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;
}
}


但仍然不起作用:html文件可以访问,但api仅在端口8080上可用。

我发现了问题所在:nodejs服务器也提供静态文件,但我的静态文件配置错误。因为开发在起作用,所以我不知道这是错误的


因此,无需在NAS上进行配置:)。启动nodejs应用程序就足够了。

我发现了问题所在:nodejs服务器也提供静态文件,但我对静态文件的配置是错误的。因为开发在起作用,所以我不知道这是错误的

因此,无需在NAS上进行配置:)。启动nodejs应用程序就足够了