2017-10-16 118 views
0

我想在Azure的虚拟机上运行我的反应应用程序。我在azure的虚拟机启动了我的应用程序,但是当我转到vm的公共网址(DNS)时,它说无法连接网站。在虚拟机上运行React应用程序

这是我做的,开始我的项目在VM

  1. 我跑命令SSH一个******** @ 52。 *。。***
  2. 进入虚拟机后,我克隆Git项目(阵营项目的NodeJS)
  3. 我当时都喜欢故宫,节点和纱线,重要的程序包安装到我的项目
  4. 我然后跑一饮而尽命令。我的项目被成功编译
  5. 现在,我试图访问我的Azure的VM

预期结果的公共网址(DNS):我应该能看到我的应用程序页面时,DNS访问

结果:网站无法达到

这是我的服务器上的文件的项目服务部分

const PORT = (process.env.PORT || 4200); 
const runServer = (app)=> { 
    app.listen(PORT,()=> { 
     debug(`Listening on http://localhost:${PORT}`); 
     if (__DEV__) 
      debug(`HMR on http://localhost:${config.BS_PORT}`); 
    }); 
} 


runServer(app); 

enter image description here

回答

0

我开始了我在Azure的VM应用程序,但是当我去VM的公开网址 (DNS),它说,网站无法达到。

你能用localhost访问此网站吗?请在您的Azure VM中进行测试,以确保此服务在正确的端口上运行。

我们应该将端口4200添加到Azure NSG(网络安全组)入站规则。 我们可以按照此article添加端口到NSG 入站规则。顺便说一下,如果你创建了一个经典的虚拟机,我们应该遵循这个article来添加端口4200到虚拟机的端点。

同时,我们也应该检查Linux的防火墙设置,确保防火墙不会阻止端口4200

最后,我们可以用telnet测试网络连接。


更新:

我们可以使用netstat -ant | grep 4200检查服务是否运行。

例如,SSH服务端口22上监听:

[email protected]:~$ netstat -ant | grep 22 
tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN  
tcp  0 104 10.0.0.4:22    167.220.255.8:57001  ESTABLISHED 
tcp  0  0 10.0.0.4:58122   52.239.153.36:443  TIME_WAIT 
tcp  0  0 10.0.0.4:40922   168.63.129.16:80  TIME_WAIT 
tcp6  0  0 :::22     :::*     LISTEN 

同时,我们也可以用telnet来测试它,我们就可以在本地PC上安装telnet和在CMD运行这个命令,这样telnet vmpublicIP 4200

如果您的服务端口4200听,并正常运行,我们可以用这个命令来访问它:
curl localhost:4200

+0

我在网络设置部分的选项卡中添加端口。仍然是一样的。你可以请检查我添加的图像在更新的问题 – ApurvG

+0

你可以试试这个命令你的虚拟机curl本地主机4200'?那样有用吗? –

+0

它说这个“无法连接到本地端口80:连接被拒绝” – ApurvG

相关问题