在我的网络服务器上尝试节点(由某个公司托管)时,我意识到它不起作用。
我得到的问题是超时错误。
在我的本地计算机上,脚本可以运行。在服务器上,脚本不起作用,但我确认该节点有效,并带有“hello world”程序。
在这里,要在网络服务器上执行我的测试,我使用我能想到的最简单的节点程序(在'hello world'旁边):
简单节点程序
!peb
修改:修正了上述程序中的拼写错误。 ==>将“Server.listen”更改为“server.listen”。感谢@ Num8er注意到(不幸的是,这没有解决问题)。
经过一些研究,我纠正了一件事:将'0.0.0.0'指定为IP(在此之前,该部分被省略)。但它没有解决我的问题。现在,我找不到任何其他错误的东西(在程序中。但我是新手所以......)。
我怀疑这个问题可能来自我的主机,但我不知道如何对这种情况做出诊断。
以下是我拥有的所有数据:
在网络服务器上启动时的节目输出
var http = require('http');
var port = 8080;
console.log("*** Node script launched ***");
var server = http.createServer(function(req, res) {
console.log('Ok, server launched.');
res.writeHead(200);
res.end('Message from the server : ok!');
});
server.listen(port,'0.0.0.0',function(){
console.log((new Date())+' : OK. Server is listening.');
});
浏览器输出(chrome)
*** Node script launched ***
Fri Aug 28 2015 01:45:00 GMT+0200 (CEST) : OK. Server is listening.
我有两个问题:
您是否知道问题可能是什么?
您知道我可以采取哪些措施来对这种情况进行诊断。有没有办法判断节点是否正在正确收听?有没有办法监视我的客户端请求是否到达服务器。如果是,是否被阻止?在哪里被阻止?
感谢。
卢瓦克。
答案 0 :(得分:1)
我认为您在看到以下字词后停止申请:
"行。服务器在听。"
代码没有问题。
我相信你正在关闭终端或做ctrl + c
尝试永远使用应用程序。
使用以下命令安装:
npm install -g forever
使用以下方式运行您的应用:
forever start app.js
使用以下方式停止:
forever stopall
检查状态:
forever list
还有一件事。
如果您使用像C9这样的云服务。
所以最好将端口线更改为:
var port = process.env.PORT || 8080;
答案 1 :(得分:0)
这意味着您的应用程序没问题,但您的端口8080
未在您的服务器中打开,如果遇到http://serverip:8080
问题,您是否尝试导航到ERR_TIMED_OUT
,那么问题是就像我说的那样在你的港口。