我试图设置一个简单的“Hello world”node.js应用程序。如何在浏览器中访问远程node.js应用程序,而不是在本地主机
我创建了以下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
,我得到的消息“监听*:8080”,符合市场预期。我将浏览器指向localhost:8080,并根据需要看到HTML页面显示“Hello worlddd”。
现在,我试图做同样的我的虚拟专用服务器上,这样我就可以从不同的计算机访问相同的应用程序,但我得到的是连接超时。我已经按照下列步骤操作:
- 通过
npm install --save [email protected]
- 我的VPS安装的node.js
- 安装快递上传我的index.js文件到我的IP 192.123.123.12服务器上的文件夹
var/www/html
(一例如,这不是我的真实IP)。 - 访问PuTTY通过服务器,并运行
node index.js
,在那里我得到"listening on *:8080"
,所以我知道Node.js的工作。 - 现在我将浏览器指向
http://192.123.123.12:8080
,经过大约20秒后,我收到浏览器错误消息:“连接超时”。 - 我试着听端口:80代替,但我得到这个端口已被使用的错误。
有谁知道我做错了吗?我使用错误的端口?我是否指向错误的网址?我需要修改我的服务器首选项吗? (在CentOS上运行Apache)。我只找到了几十个教程,教你如何在本地计算机上运行node.js应用程序(将浏览器指向localhost:8080),但我需要它运行在远程服务器上,以便多台计算机可以访问应用程序。
你需要找到特定的文档以您的VPS运行的node.js服务器应用程序以及如何配置输入端口,以及是否长时间运行的服务器(如的NodeJS)的支持。这不是通用说明,但可能涉及您自己的托管服务的特定配置。 – jfriend00
哦,谢谢!那么预计不会直接开箱即用?也许我的托管服务提供商的客户服务中心可以帮忙。 – Marquizzo
可能只是一些(默认)过滤正在阻止连接到其他预定义端口的端口。或者,如果您与其他主机共享IP,则可能会更复杂一些。 – jcaron