Node.js 中如何关闭一个 HTTP 或 HTTPS 服务器

阅读时长 4 分钟读完

Node.js 是一种流行的后端 JavaScript 运行环境,它可以创建 HTTP 或 HTTPS 服务器并处理客户端请求。在某些情况下,需要关闭服务器以停止服务并释放占用的端口。本文将探讨 Node.js 中如何关闭一个 HTTP 或 HTTPS 服务器,涵盖了详细的步骤以及实际的代码示例。

HTTP 与 HTTPS 服务器的关闭方法

在 Node.js 中,可以使用 server.close() 方法关闭 HTTP 或 HTTPS 服务器。该方法接受一个可选的回调函数,该函数在服务器关闭时被调用。下面是该方法的通用语法:

此处的 server 指的是创建的 HTTP 或 HTTPS 服务器的实例对象。调用 server.close() 方法会立刻停止接受新的请求,并在当前所有请求都响应完成后关闭服务器。

关闭 HTTP 服务器示例

下面是一个简单的 Node.js HTTP 服务器实现,可以启动服务器并响应客户端请求。

-- -------------------- ---- -------
----- ---- - ----------------

----- ------ - ----------------------- ---- -- -
  -------------------
  -------------- ---------
---

------------------- -- -- -
  ----------------- ------ ------- -- ---- -------
---

要关闭该服务器,可以在控制台中按 Ctrl + C 组合键,这将终止该应用程序及其子进程。也可以编写代码以编程方式关闭服务器。例如,以下代码将在服务器运行 10 秒钟后关闭服务器。

该代码使用 setTimeout() 函数在 10 秒后调用 server.close() 方法。传递给 server.close() 的回调函数在服务器关闭时被调用,并输出一条消息。

关闭 HTTPS 服务器示例

如果要使用 HTTPS 协议创建服务器,则需要使用 https 模块代替 http 模块。下面是一个使用自签名证书启用 HTTPS 服务器的示例:

-- -------------------- ---- -------
----- ----- - -----------------
----- -- - --------------

----- ------- - -
  ---- ------------------------------
  ----- -----------------------------
--

----- ------ - --------------------------- ----- ---- -- -
  -------------------
  -------------- ---------
---

------------------- -- -- -
  ------------------ ------ ------- -- ---- -------
---

要关闭该服务器,可以使用与关闭 HTTP 服务器相同的代码。以下示例将在服务器运行 10 秒钟后关闭服务器。

结论

在 Node.js 中关闭 HTTP 或 HTTPS 服务器非常简单。只需使用 server.close() 方法即可停止服务器并释放端口。此外,还可以在回调函数中执行自定义操作,以确保服务器完全关闭后再退出应用程序。这是在开发 Node.js 应用程序时的一个很好的实践。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/674ebcefe884a3e30f2982cd

纠错
反馈