如何在线获取在本地主机上运行的node.js应用程序



我使用express和socket.io制作了一个node.js聊天应用程序。它在localhost上运行,其他计算机可以在同一网络上连接到它。我怎么能把它放到网上,让不同网络上的人仍然可以使用它?

这是我的包.json,以防有帮助:

{
"name": "Node Chat",
"version": "1.0.1",
"description": "Simple chat server",
"dependencies": {
"express": "4.10.2",
"socket.io": "1.2.0"
}
}

你必须将你的应用程序放在一台可以通过公共IP地址从开放互联网联系的计算机上。如果您希望能够通过诸如http://www.example.com,则需要以下步骤:

  1. 找到一个具有可供您运行应用程序的公共访问IP地址的服务器。通常,这将是支持node.js应用程序的托管公司的服务器。

  2. 设置DNS条目,使您的域和www前缀指向包含服务器进程的正确IP地址。

  3. 以响应端口80请求的方式运行服务器进程。在托管公司,可能需要遵守特定的规则,才能使域中的端口80以您想要的方式工作。

您可以在自己的本地网络上的服务器上实现这些步骤,但这通常需要一系列网络配置来"打"一个本地防火墙的洞,将端口80请求路由到网络上的特定服务器(通常使用端口转发),并允许外部请求到达专用网络上的给定服务器,还需要一些DNS配置来允许域名请求与您的公共IP相匹配专用网络。由于各种原因,如果这是家庭网络,通常不建议使用此配置。

由于您使用的是node.js,我希望您至少对网站有一些总体经验,并且您知道它们需要托管在服务器上。你可以自己做,但既然你问这个问题,我想你没有这样做的设备。但正如你在帖子评论中提到的,有几个托管节点应用程序的提供商。他们中的大多数都提供有限的免费服务,如果你为你和一些朋友制作这个应用程序,这完全可以做到。以下是一个简短的列表:

  • Heroku
  • 模量
  • Microsoft Azure
  • 谷歌云主机

您可以在此处找到扩展列表。

相关内容

最新更新