是一类东西,又不是一类东西。
首先他们都能创建 Web 服务器,但是他们关注的点不一样。
Tomcat 最好跟 Java 配合,Apache 通常跟 PHP 配合,但也不排除能跟 Node.js 配合反向代理。跟 Node.js 关系最好的还算是 Nginx。
当然你在你的服务器上直勾勾挂个 Node.js 监听 80 端口对外也不是不可以。但是通常真正线上(个人玩具除外)的做法是,Node.js 监听本地的某个端口,然后前面挂个 Nginx 监听 80 端口反向代理到 Node.js 上。
至于为什么要这么做,比如你有 3 台服务器,每个服务器上启一个 Node.js 作为集群的一个节点,然后再在前面挡一层负载均衡,反向代理到集群的 3 台服务器上。所以实际上不仅仅是 Node.js,这是一种语言无关的做法。
所以他们都能拿来做 Web 服务器,只不过关注的点不一样而已——Node.js 更倾向于业务逻辑。
偏要分类的话
apache和nginx算接近一类,node.js和tomcat算接近一类。
Apache就是静态网页服务器,就是将本地页面文件做一个网络映射,可以添加mod来扩展功能,例如php模块就扩展了基于php的CGI动态页面页面能力,代理模块就是成了代理服务器。
nginx同,不过更多主职于代理服务器。
tomcat就是一个Java Servlet容器,换个说法就是基于java的CGI动态页面服务器,静态页面只是一个附属功能。
node.js同样一个容器,换个说法就是基于JavaScript的CGI动态页面服务器,看上去静态页面不算是直接功能。
喜欢的就点个赞,收藏一下吧。
需要更多教程,微信扫码即可
👆👆👆
别忘了扫码领资料哦【高清Java学习路线图】
和【全套学习视频及配套资料】