在虚拟服务器计算机上部署NodeJS的问题

时间:2017-01-31 10:43:16

标签: node.js ssh deployment server

我有一个NodeJs应用程序,可以在我的本地机器上运行良好。

现在,我想将它部署在具有给定IP和给定http地址的虚拟机上。

假设我的情况是服务器的IP和http地址分别为 134.00.00.00 http://server-virtualmachine.is.fr

我能够通过ssh连接到此服务器并将我的Node JS应用程序发送到 / var / www /

服务器的主文件是 app.js ,所以我执行了以下命令行来运行服务器。

node app.js

输出结果为:

App listening on port 3030 with adress 134.00.00.00

我没有错误。但是,通过直接在我的浏览器http://134.00.00.00:3030http://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应用程序可以在虚拟机上运行,​​而不是在本地计算机上运行。

任何见解?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

感谢Ebrahim Pasbani,我可以看到我的3030端口未打开。为了检查这一点,我使用了以下命令行:

nmap ip 

,更具体地说是nmap -p3030 ip

我打开它,现在它可以工作。