实验教学中心
nginx/tomcat/apache 的区别
Apache
Apache 是一个模块化的服务器,可以运行在几乎所有的计算机平台上,属于应用服务器
缺点
配置相对复杂,而且不使用脚本,模块就无法支持动态页面
优点
支持模块多,性能稳定,由于本身是静态解析,所以适合处理静态文件(HTML,图片等),也可以通过扩展脚本,模块等支持动态页面
Tomcat
Tomcat 是应用服务器,并且只是一个 Servlet 容器
基本上只能做 java 服务器
处理动态请求,是编译 Servlet 的容器
Nginx
Nginx 是一款 HTTP 和代理服务器,Nginx 常用作静态内容服务和代理服务器,将外来请求转发给应用服务 (tomcat,django)。
只适合静态和反向代理
负载均衡,反向代理,动静分离,静态请求可以直接通过 Nginx 处理,而且处理效率比 Apache 高,动态请求才需要通过转发到 Tomcat 处理
总结
Apache/Nginx 应该叫做 Http Server
而 tomcat 则是一个 APPlication Server,(java 项目 fhadmin.cn) 准确来说应该是 Servlet/JSP 应用的容器。
HttpServer
一个 HttpServer 关心的是 HTTP 协议层面的传输和访问控制,所以在
Apache/Nginx 上可以看到代理,负载均衡等,客户端通过 HTTP Server 访问服务器上存储的资源(HTML 文件,图片文件等等)
应用服务器
就是执行应用的容器,首先需要支持开发语言的 Runtime(对于 Tomcat 来说,就是 Java)。其次需要支持应用相关的规范,例如类库,安全方面的特性。对于 tomcat 来说就是需要提供 JSP/Sevlet 运行需要的标准类库等。
为了方便,应用服务器往往也会集成 HTTP Server 的功能,但是不如专业的 HTTP Server 那么强大,所以应用服务器往往是运行在 HTTP Server 的背后,执行应用,将动态的内容转化为静态的内容之后,通过 HTTP Server 分发到客户端。
————————————————
原文作者:FH-Admin
转自链接:https://learnku.com/articles/60183
版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请保留以上作者信息和原文链接。