我试图建立一个简单的“#Hello”世界" node.js app。
我创建了以下 index.js 文件:
var app = require("express")();
var http = require("http").Server(app);
app.get("/", function(req, res){
res.send("<h1>Hello worlddddd</h1>");
});
http.listen(8080, function(){
console.log("listening on *:8080");
});
当我打开本地控制台并执行node index.js
时,我收到消息&#34;正在按照预期收听*:8080&#34;我将我的浏览器指向localhost:8080,我看到HTML页面根据需要说出&#34; Hello worlddd&#34 ;.
现在,我尝试在我的虚拟专用服务器上执行相同操作,因此我可以从不同的计算机访问相同的应用程序,但我得到的只是连接超时。我已按照以下步骤操作:
npm install --save express@4.10.2
var/www/html
文件夹(例如,这不是我的真实IP)。node index.js
,我得到"listening on *:8080"
,所以我知道node.js正在运行。http://192.123.123.12:8080
,大约20秒后,我收到浏览器错误:&#34;连接已超时&#34;。有人知道我做错了什么吗?我使用错误的端口吗?我指的是错误的网址吗?我是否需要修改服务器首选项? (在CentOS上运行Apache)。我只发现了几十个教程,教你如何在本地计算机上运行node.js应用程序(将浏览器指向localhost:8080),但我需要它在远程服务器上运行,以便多台计算机可以访问相同的应用程序。
答案 0 :(得分:4)
问题是您的当前过滤器(iptables)会阻止流量,除非您明确允许它。
您只需要打开端口TCP 8080入站,您就可以访问node.js服务器了!