Node.js - 接受它 public?

Node.js - Taking it public?

我正在学习如何在 Node.js 中编程,到目前为止,我已经能够 运行 它使用我的计算机作为服务器,并通过 IP [=21] 登录=] 来自同一路由器上的其他计算机。但是对于我来说,我似乎找不到任何教程或任何东西来学习它 public。例如,在工作中使用我的笔记本电脑连接到家里托管的服务器。我搜索了免费服务器,完全混淆了 SSH 密钥和 github 要求以及其他一些东西。我真的很困惑。 我还认为购买我自己的硬件和 运行 我自己的服务器会更简单(并且每月付款 100% 免费)?关于 node.js 硬件设置的任何教程? 请帮忙,我完全糊涂了。

编辑 我好像有点不清楚。我将使用 node.js 来创建带有登录名的 games/apps。当您 "login" 时,您也会自动登录到服务器。不仅来自 "work to home",我的意思完全是 public 作为一款多人游戏。

一种免费设置节点服务器的简单方法是使用 AWS Free Tier.

一旦你遵循 link 并设置服务器...

您可以按照本教程来启动和运行您的服务器、安装节点、安装 mongodb 甚至制作一个将 运行 在实时服务器上运行的应用程序。

Run throgh this tutorial

我是如何在我的服务器上安装节点的,

我个人有一个来自 Bluehost 的 VPS。这让我每月花费大约 120 美元,但让我可以用我的服务器做任何我想做的事。无论我想要什么,我的意思是安装我想要的任何东西......

我安装了 npm, 我在全球范围内安装了 node.js。 我安装了 mongoDB。

我可以从任何地方 运行 mongodb 应用程序并将它们连接到我服务器上的 MongoDB 运行ning。

如您所见,VPS 可以派上用场...我建议使用 AWS 免费套餐。学习如何安装所有你想要的东西。玩它。打破它,重新开始。

但是当你完成所有这些之后...... 成为绝地大师!

Node 没有任何特定的硬件要求或配置。并且可以托管在任何东西上。

我猜你没有专用的IP地址。所以,你的问题似乎都是关于网络、路由和处理 NAT 的。如果您不熟悉这些,使用外部托管可能是个不错的主意。

但如果您想尝试一下,这可能会有所帮助 - https://superuser.com/questions/121435/is-it-possible-to-host-a-web-server-from-behind-a-nat

除了托管您自己的硬件外,还有 2 个选项可满足您的描述。

第一,使用端口转发工具使您的家庭服务器可以从您的工作访问,例如 ngrok

第二,将您的 node.js 应用程序部署到在线平台,例如 OpenShift or Heroku。这些平台中的大多数都有 low-performance 个免费选项。