将带有Express App的节点部署到DigitalOcean:应用程序不会在端口3000上运行

时间:2016-12-01 06:18:48

标签: javascript node.js express deployment

我的Express应用程序位于安装了Node的Ubuntu 16.04 DigitalOcean服务器上。

作为基本测试,我使用以下命令运行我的server.js文件:

node server.js

然后我测试了文件:

curl http://localhost:3000

然而,这返回了Cannot GET /

我使用一个简单的HTTP服务器测试了一个单独的app.js文件没有 Express,并且无论端口号如何,它都返回了我想要的任何内容。换句话说,它不是防火墙问题。

安装了Express模块​​。

我认为这可能是我的Express实施的一个问题。这是我的server.js:

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


app.listen(3000, function () {
console.log("express has started on port 3000");
});

关于如何解决此问题的任何建议?

1 个答案:

答案 0 :(得分:0)

Reddit /u/bdenzer helped me out with this answer that works. Needed to point to a file to see an output via CURL. Adding this right about the app.listen yields an output. You need to create a file with text in it in the same directory as server.js of course. Also you need to import this at the top of server.js to serve the text file: let path = require('path');

 app.get('/', (req, res) => { 
 res.sendFile(path.join(__dirname,'hello.txt')); 
 });