我有一个在本地机器上运行良好的NodeJs应用程序。在虚拟服务器机器上部署NodeJS的问题
现在,我想将它部署到具有给定IP和给定http地址的虚拟机上。
假设我的情况是,IP和服务器的HTTP地址分别为134.00.00.00和http://server-virtualmachine.is.fr
我能够通过ssh连接到该服务器并发送我的节点JS应用/无功/网络/
服务器的主文件是app.js所以我执行该下面的命令行运行服务器。
node app.js
输出是:
App listening on port 3030 with adress 134.00.00.00
我没有任何错误。然而,在http://134.00.00.00:3030或http://server-virtualmachine.is.fr:3030直接在我的浏览器检查时,接头是不成立的,我的浏览器终于通过显示此消息结束了:
134.00.00.00 took too many times to answer
如果我要去的地址,而无需编写端口(http://134.00.00.00 ),我有以下消息:
Not Found
The requested URL/was not found on this server.
然后,为了看到问题出在哪里,我试着设置一个hello world示例文件。
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(3030, '134.00.00.00');
console.log('Server running at 134.00.00.00:3030');
出现同样的问题。但是,我打开一个新的标签,并打开一个新的SSH连接并执行以下命令行:
curl http://134.00.00.00:3030
措手不及,我有我的终端上"Hello world"
我不是真的到服务器,我尝试自己理解,但现在我不理解这个问题以及如何解决它。
我想让我的NodeJs应用程序在虚拟机上工作,而不是在本地机器上工作。
任何见解?
非常感谢您的帮助。
3030端口是否打开? –
它应该是因为一个旧的Node Js-Angular JS项目在此虚拟机上使用此端口之前工作。我如何检查它是否开放?否则有没有办法查看哪个端口打开?感谢 – lilouch
您可以在防火墙设置中检查它。或者使用'nmap'命令 –