【问题标题】:Does node.js server need internet connection to run?node.js 服务器是否需要互联网连接才能运行?
【发布时间】:2015-09-28 08:11:56
【问题描述】:

我禁用互联网连接并运行节点服务器npm start,然后它抛出错误:

现在启用互联网连接并运行服务器工作正常:

那么,我想在启动服务器时确认这是否真的需要连接到互联网?

如果它确实需要互联网连接,那么有什么想法可以离线运行服务器吗?

如果我连接到互联网并运行服务器并在拔出互联网连接后运行服务器,那么就没有任何问题。一切正常。我不知道为什么只运行服务器需要互联网连接。

【问题讨论】:

  • 您是否正在尝试连接到外部 mongo 数据库?您的错误表明这就是您要炸毁的地方。
  • Mongo 服务器在哪里运行?与 Node 服务器在同一台机器上?
  • 如果你禁用了互联网连接(我假设这并不意味着你完全禁用了网络适配器),服务器是否有连接到该 mongodb 的网络路由?
  • 我只是按照打印的错误进行。当猫鼬尝试连接到数据库时,它看起来好像失败了。你的 Mongo 数据库在你的本地机器上吗?检查您的设置以确保它没有尝试连接到另一台机器上的 Mongo 实例。
  • 这就是所要求的。您是否在某处连接到外部 mongodb。你确定你是在使用 MEAN 提供的开发环境运行的吗?仔细检查您的开发环境设置并确保没有任何内容被覆盖。

标签: node.js mongodb express mean-stack mongoose-schema


【解决方案1】:

天哪!这个真的很酷!在我使用127.0.0.1 而不是localhost for mongo uri 对我的代码进行深入研究后,我让它离线工作。

使用我需要的localhost 连接到互联网。

并且使用127.0.0.1 在两种情况下都有效,即有互联网连接和没有互联网连接。

但是,我真的对此感到非常惊讶。


我在上面找到了真正的cool topic,这让我很清楚。

如果您使用 127.0.0.1,那么(智能)软件会将其直接转换为 IP 地址并使用它。

并且无法保证您的 hosts 文件实际上会用于该解析(首先或根本不会),因此 localhost 可能会变成一个完全不同的 IP 地址。

【讨论】:

  • 那是因为需要解析localhost。通过使用 127.0.0.1 您正在跳过主机文件中的查找部分。因此不需要连接。
猜你喜欢
  • 1970-01-01
  • 2015-02-20
  • 1970-01-01
  • 1970-01-01
  • 2020-05-26
  • 2019-06-11
  • 2018-05-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多