当前位置:  开发笔记 > 编程语言 > 正文

为什么节点服务器必须在文件更改时重新启动?

如何解决《为什么节点服务器必须在文件更改时重新启动?》经验,为你挑选了1个好方法。

为什么在文件发生变化时需要重启NodeJS服务器?其他服务器如Apache,IIS,nginx也需要这个,还是可以自动重启?



1> jfriend00..:

你没有说你正在谈论哪些文件,所以我会提到几种不同类型文件的问题.

对于构成node.js服务器的Javascript代码的Javascript文件,node.js是一个连续运行的服务器.这意味着当服务器启动时,它会将您的Javascript代码解析到内存中,然后开始执行它.该服务器进程一直运行,直到您停止它.因为node.js是一个连续运行的服务器,如果要更新组成服务器代码的Javascript文件,则必须停止服务器并重新启动它以使其加载并重新分析新更改的源文件.

这与PHP与Apache之类的东西截然不同,它为每个单独的请求从头开始运行给定的PHP脚本.由于没有长时间运行的PHP应用程序,并且每个PHP脚本都是从头开始为每个请求启动,因此它可以自动获取新更改的PHP脚本,而无需重新启动Apache服务器.如果你有一个完全用PHP编写的长时间运行的服务器,那么它可能会有类似于node.js的行为.

而且,如果您想升级Apache服务器代码,则必须重新启动Apache(与node.js一样).

您可以将node.js视为Apache + PHP,因为两者的功能通常只由node.js本身来满足.它将Web服务器功能与webapp逻辑集成在一起,而这些功能与Apache + PHP分开.


对于由服务器提供并传送到浏览器的HTML文件或Javascript文件,通常不必重新启动服务器,以便在后续浏览器请求中提供这些文件的新版本.但是,这取决于您使用的服务器框架以及它如何实现文件缓存.此行为不是特定于node.js,而是内置到您用于通过Web服务器提供文件的任何代码中(例如Express或类似的东西).

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有