node.js 服务器无法在虚拟机中运行(Azure 云服务)

node.js server not working in virtual machine (Azure Cloud Services)

我是新来的 node.js 我只是想制作一个简单的节点 js 服务器,它可以在我的本地主机上正常工作。这是 "Hello World Example":

var http = require('http');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(8080);
console.log('Server running at http://localshot:8080/');

在我的 localhost 上工作正常,我在我的控制台上执行 node 命令,我得到了 "Hello World" 留言.

那么, 我按照 tutorial

在 Azure 上创建了一个 Bitnami VM

我使用 SFTP 将文件上传到服务器,然后使用 SSH 连接远程进入 VM 控制台。 (我已经在虚拟机上安装了 node.js)

ssh bitnami@100.101.102.103

但是当我尝试在 Azure 中的 CloudService 上部署相同的 node 操作时,我没有得到任何答复,显然服务器工作正常,因为它打印了 console.log 消息,但我无法访问互联网。 我如何在互联网上访问我的结果?我尝试了两种不同的方式:

使用天蓝色link

http://myAppName.cloudapp.net:8080

使用虚拟机IP

http://12.34.567.890:8080

我没有得到答案

如何访问服务器并上网?或者我做错了什么?也许我需要更改 Azure 门户上的设置才能看到端口?

谢谢

如果您已经在您的服务器上安装了节点 js,并且您还收到了 console.log 消息,那么您可能需要在您的云服务器上启用该端口。我已经在 aws 服务器上启用了"Custom TCP port" 8080 for 0.0.0.0/0 用于 ELB 访问我的实例上的端口 8080。 "HTTP" 规则仅适用于端口 80。

尝试使用 webapps 代替节点,他们使用 - 从错误中自动重启并管理集群的nodeiis - git 推送部署

(如果你真的要使用云服务,是的,你必须添加和端点)