【发布时间】:2019-12-13 12:26:14
【问题描述】:
我安装了 nodejs 和 express 但它无法正确运行我的 Main.js
它显示: 无法获取 /Main/
/etc/nginx/sites-available/digitalocean:
location /Main/ {
proxy_pass http://localhost: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;
}
Main.js:
var express = require('express');
console.log('done');
var app = express();
app.get('/', (req, res) => res.send('Hello World!'))
app.listen('8080', function () {
console.log('Test');
});
【问题讨论】:
-
请记住,运行中的 Express 服务器默认不会执行任何操作。您必须为要主动提供某些内容的每个 URL 定义路由。所以,你有一个没有路由的正在运行的服务器,因此它没有做任何有用的事情。您甚至没有一个错误处理路由,它至少会为对不受支持的路由的请求提供 404 错误。您可以从添加它开始,看看您是否收到 404 错误。如果不是,那么第一个问题是在 nginx 配置中。如果是这样,那么您只需将路线添加到您的快速代码中。
-
另外,我强烈建议您首先在您自己的本地计算机上运行一个普通的 express 应用程序(没有 nginx)。让它发挥作用。然后,如果您想在前面使用 nginx 对其进行配置,则在从已知的可运行的 Express 应用程序开始时进行该配置。现在你有两个未知的系统,可能两个都有问题。
-
@jfriend00 我在我的代码中添加了路由,但它仍然不起作用。但是,我尝试在本地运行代码并返回真实结果。我猜是 nginx 配置的问题,但是我怎样才能找到问题呢?
-
我从 chrome 收到此错误“加载资源失败:服务器响应状态为 404”
标签: node.js express digital-ocean pm2