Node.js nginx-linux服务器上的Nodejs-express应用程序
我已经用nodejs express创建了我的第一个nodejs应用程序。 服务器正在运行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"); }
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应用程序就足够了