【问题标题】:Where Does Node.Js Actually Live When Serving Web Page?Node.Js 在服务网页时实际存在于哪里?
【发布时间】:2014-10-12 00:46:31
【问题描述】:

我现在正在学习 Node,我对它的虚拟服务器组件有些困惑。我想了解的是,Node 在提供网页时驻留在哪里?

例如现在学习它,我当然已经在我的机器上本地下载了Node。我正在学习如何通过如下代码创建虚拟服务器:

var http = require("http");

http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8888);

当需要将我最终在 Node 中开发的任何东西带到网络上时,我是否将 Node 下载到托管我的网站的服务器上?然后我想如果我这样做,会发生以下情况:

“Node.js 包含一个用于文件、套接字和 HTTP 通信的内置异步 I/O 库,它允许应用程序在没有 Apache 或 IIS 等软件的情况下充当 Web 服务器。”维基百科关于节点的文章

所以我想,...文件,这将是我的应用程序,一旦存在于托管我的站点的服务器中,安装了 Node.js,将充当没有 Apache 或 IIS 等软件的 Web 服务器?

因此,我对这个服务器创建过程以及 Node.js 在为网页提供服务时所在的位置感到困惑。

关于代码,我理解。那只是JavaScript。

感谢您的澄清。 谢谢, 克里斯·马佐奇

【问题讨论】:

  • 你可以以a (simple) web server运行Node.JS。
  • Node.js 是服务器软件(如 Apache 或 IIS)。
  • 它只存在于 RAM 之外的任何地方。 node.js 不服务于网页,它服务于调用 javascript 表达式的结果。如果您需要,您可以将这些表达式与路径中的资源关联起来。我认为 express 让它更 LAMPy/RESTy。
  • 感谢您抽出宝贵时间。我很感激。

标签: javascript node.js


【解决方案1】:

我会将此添加为评论,但还没有这样做的声誉:\

要启动您的网络服务器,您只需运行入口点脚本,然后该脚本将作为一个进程运行。不过,我认为您可能希望设置一个守护程序/服务来为您启动脚本。

--编辑--

您问题中的那个脚本就是这样 - 一个脚本。您需要运行它才能真正开始使用node simpleServer.js 之类的东西。如果您想实际托管的不是返回 Hello World 的网站,就像我上面所说的,您需要一个守护程序/服务来为您自动运行该脚本。

所以我对 . . . Node.js 在提供网页时所在的位置。

它存在于计算机的内存中。

【讨论】:

  • 感谢您抽出宝贵时间。我很感激。
【解决方案2】:

当您在 Node 中开发应用程序并希望将其托管在 Web 服务器上时,您需要安装它。

如果您使用基于云的(例如 Heroku),它已经安装了 Node,您只需要定义 procfile 即可。

如果您想将其映射到您的域,那么您可以将您的 dns 映射到您在云上创建的应用程序。

【讨论】:

  • 感谢您抽出宝贵时间。我很感激。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-08
  • 2014-02-14
  • 2018-06-16
  • 1970-01-01
  • 2016-06-17
  • 1970-01-01
  • 2018-02-07
相关资源
最近更新 更多