apache、node.js、nginx、tomcat的关系
是一类东西,又不是一类东西。
首先他们都能创建 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动态页面服务器,看上去静态页面不算是直接功能。
喜欢的就点个赞,收藏一下吧。
需要更多教程,微信扫码即可
apache、node.js、nginx、tomcat的关系相关推荐
- node.js和JavaScript的关系
1. 什么是node.js node.js是一个基于 Chrome V8 引擎的 JavaScript 运行时的环境. 2. 什么是JavaScript 2.1比较JavaScript 和 Java ...
- node.js和npm的关系
目录 一.npm是什么 二.Node.js是什么 三.npm和Node.js的发展 四.node.js和npm的安装 一.npm是什么 当一个网站依赖的js代码越来越多,程序员发现这是一件很麻烦的事情 ...
- 利用 Node.js 实现 SAP Hana 数据库编程接口
为什么80%的码农都做不了架构师?>>> 自 SAP HANA SP 11 之后,可以使用 Node.js 作为 Hana 的编程接口.SAP 将 Application se ...
- Node.js 内存管理和 V8 垃圾回收机制
作者:五月君 链接:https://www.imooc.com/article/288799 来源:首发慕课网 本文已获作者 "五月君" 授权转载,原文首发于 "慕课网& ...
- 性能追击:万字长文30+图揭秘8大主流服务器程序线程模型 | Node.js,Apache,Nginx,Netty,Redis,Tomcat,MySQL,Zuul
本文为<高性能网络编程游记>的第六篇"性能追击:万字长文30+图揭秘8大主流服务器程序线程模型". 最近拍的照片比较少,不知道配什么图好,于是自己画了一个,凑合着用,让 ...
- NGINX配置基于Node.js服务的负载均衡服务器
NGINX配置基于Node.js服务的负载均衡服务器 本部署指南说明了如何使用NGINX开源和NGINX Plus在Node.js应用程序服务器池之间平衡HTTP和HTTPS通信.本指南中的详细说明适 ...
- 在既有系统中打通Apache Ignite、MySQL和Node.js
为什么80%的码农都做不了架构师?>>> 介绍 在本系列的第一篇文章中,安装了Node.js.Ignite的Node.js瘦客户端包,并且测试了一个示例应用.在本文中,可以看一 ...
- Apache 和 Tomcat 的 关系
两者从以下几点可以比较的: 1.两者都是apache组织开发的2.两者都有HTTP服务的功能3.两者都是开源免费的 联系: 1.Apache是普通服务器,本身只支持html即普通网页,可以通过插件支持 ...
- 日记--node.js 和nginx对比环境变量立刻生效https://www.cnblogs.com/zht-blog/p/4033951.html
Nginx的性能比Node.js的HTTP模块要好很多 但Nginx考量的是面向客户端, 后端业务方面依然是受具体业务影响,而Node.js则可以利用异步I/O来实现业务并行,以提升效率 Nginx没 ...
最新文章
- linux消息通信无法接收,进程间通信:消息队列有关问题:进程1接收不到进程2的消息...
- JSP第二次作业_7小题
- 2019.4.1考试2019.4.2考试2019.4.4考试
- 外部链接linux下的mysql,Linux下mysql实现远程链接
- webpack之proxyTable配置
- CodeForces - 1567C Carrying Conundrum(思维/状压)
- python学籍管理系统 flask_taskday05-Python之flask学习 web开发最基本的需要(特别详细且适用)...
- 网站开发的小知识参考(慢慢收集备用)
- CVPR 2019 | 微软亚洲研究院 7 篇精选论文解读
- 机器学习之非监督学习与强化学习
- python全屏模式 spider_我可以使用PIL以全屏模式显示图像吗?
- C++实现类似反射模式
- intel 傲腾内存与SSD HDD的对比
- 【华为浏览器如何安装扩展程序】
- tkinter学习04
- 基于MT5的沪深股票回测二 导入历史数据
- wow插件补充说明篇
- easyui使用datagrid时deleteRow删除后行号问题
- 【Paper】Neural Machine Translation by Jointly Learning to Align and Translate
- 研究生毕业论文如何选题
热门文章
- 露脸炒作、直播剁手!乔碧萝、红花会贝贝被拉黑,5年!
- 小米618战报出炉!三平台狂揽156项第一
- 拳王寻你项目公社:普通人怎么创业,普通人的创业法宝,容易上手的兼职副业项目
- h.264 视频解码的一点小经验
- python+appium自动化测试如何控制App的启动和退出
- Web开发之三:前后端开发任务量分析与比较
- 十道清肠素食,满满的都是膳食纤维!
- 没有信号无服务器,没有信号不用怕“音离”你身边的便携式基站
- java版selenium_Selenium3.0-Java版(共61节)
- r720支持多少频率的内存吗_DDR4 2400到DDR4 3200,最大内存频率买多少?为什么买了高频 速度却上不去...