在远程服务器上运行node.js/express应用程序以供其他人访问



我从来没有做过这样的事情,所以如果这是一个愚蠢的问题或应该发布在其他地方,请原谅我。我有一个超级简单的Hello World应用程序(用于测试目的(,我正试图从远程linux(红帽子7.6(服务器上运行,我使用putty连接到该服务器,然后能够从任何机器(在同一网络上(访问该页面。linux服务器只是CLI,所以它不是一个虚拟机类型的东西,您可以在服务器上访问网页并查看页面。

当我在自己的笔记本电脑上运行该应用程序并转到localhost:3000(my-IP-address):3000时,它运行得很好,但当它在一台完全独立的机器上运行时,我有点困惑如何让它发挥作用。它在服务器上运行时没有出错,所以我认为这与代码无关。。。

这是我的代码:

var express = require("express"),
app = express(),
mongoose = require("mongoose"),
bodyParser = require("body-parser"),
methodOverride = require("method-override"),
http = require("http");
app.use(bodyParser.urlencoded({ extended: true }));
app.set("view engine", "ejs");
app.get("/", function(req, res) {
res.send("Hello World!");
});

app.listen(3000, "0.0.0.0", function() {
console.log('Server running');
});

在服务器中,我为防火墙添加了这个(也是我以前从未使用过的东西(

iptables -I INPUT 1 -p tcp --dport 3000 -j ACCEPT

但它似乎仍然没有联系。我觉得我在某个地方错过了一些关键步骤,但在网上找不到迄今为止有效的其他

试着telnet到机器telnet yourIP 3000中的端口,看看该端口是否打开,如果没有,那么你必须确保它是打开的。在aws中,你通常会更改我认为的规则。(我一般不会建议这样做,因为你会公开它(

相关内容

最新更新