如何使用NodeJs在外部服务器上部署可用的服务器后端?
发布于 9 年前 作者 BlankWind 8778 次浏览 最后一次编辑是 8 年前 来自 问答

我刚开始学习使用NodeJs,在教程中有一个比较经典的“简易聊天室”的教程(nodejs+socket.io)。目前我已经实现了这样的功能:在自己的电脑上(Windows7环境)使用nodejs部署服务器,通过浏览器打开多个index.html(前端聊天室),可以实现多个窗口之间的实时聊天。 QQ图片20150704194600.jpg 现在手头有若干台电脑以及一个可用的服务器(Ubuntu环境)在同一局域网下,服务器上已经安装好NodeJs,并测试过可以使用(HelloWorld.js)。 问题是不知道该如何在这台服务器上使用NodeJs部署服务器,使多台电脑之间通过这个“简易聊天室”实现实时聊天。求各位大神指点,万分感谢!

8 回复

从服务器加载网页,不要直接打开网页文件

@leapon 如果在服务器上加载网页,不还是只能在服务器上让多个网页之间通信吗?在同一局域网下的其他多台电脑之间还是无法通过这个聊天室通信吧?

@BlankWind

在服务器上加载网页,才能让同一局域网下的多台电脑和一个服务器通讯。直接打开网页文件是在一台电脑上自己玩。

@leapon 多谢,现在已经解决了。需要将server.js里监听服务器的IP设为服务器的IP,同时将index.html里的socket.io绑定在服务器的IP上,之后再运行node server.js。在局域网内的其他电脑浏览器上输入服务器IP+端口号,就可以通过这个聊天室聊天了。目前正在研究怎么把这个聊天室放在广域网上,通过域名可以访问。

@BlankWind 去阿里云上买个ECS,最低配的大概300以月。把你的代码放上去就可以访问了。

@LanceHBZhang 只通过nodejs的方式可以实现广域网域名访问吗?

@BlankWind 你说的是DNS问题,与跑在服务器上的服务是否是用Node.js实现无关。 如果你要用域名访问的话,先要去买个域名(貌似万网就可以),还要搞个DNS,把你的域名映射到你的服务器的IP地址。注意,这一步与你写的代码没有关系。只有真实的数据流量到达你的服务器和你的服务端口,才与你的代码有关系。

回到顶部