WEB服务器的基本介绍

举报
江湖有缘 发表于 2023/01/05 16:35:00 2023/01/05
【摘要】 WEB服务器的基本介绍

一、Web服务器介绍

HTTP服务器本质上也是一种应用程序——它通常运行在服务器上,绑定服务器的IP地址并监听某个TCP端口,接收并处理HTTP请求,这样客户端(如Chrome这样的浏览器)就能通过HTTP协议获取服务器上的网页(HTML格式)、文档(PDF格式)等资源。

二、Web服务器分类

1.IIS

  • IIS(Internet信息服务)英文InternetInformationServer的缩写。它是微软公司主推的服务器。IIS的特点具有:安全性,强大,灵活。

2.Tomcat

  • Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。

3.Zeus

  • Zeus是一个运行于Unix下的非常优秀的Web服务器,据说性能超过Apache,是效率最高的Web服务器之一。

4.Nginx

  • Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。

5.Apache

  • Apache是世界使用排名第一的Web服务器软件。Apache Web服务器是一个开源软件,可以安装在几乎所有的操作系​​统上,包括Linux,Unix,Windows,FreeBSD,Mac OS X等等。大约60%的Web服务器机器运行Apache Web服务器。

6.Lighttpd

  • 一个免费的Web服务器。这个开源Web服务器是快速,安全的,并且消耗更少的CPU功率。Lighttpd也可以在Windows,Mac OS X,Linux和Solaris操作系统上运行。

三、tomcat/nginx/apache区别

1.apache和tomcat比较

①相同点

相同点:
两者都是Apache组织开发的;
两者都有HTTP服务的功能;
两者都是免费的。

②不同点

1、Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等),
而Tomcat是Apache组织在符合Java EE的JSP、Servlet标准下开发的一个JSP服务器;
2、Apache是一个Web服务器环境程序,启用他可以作为Web服务器使用,不过只支持静态网页,如(ASP,PHP,CGI,JSP)等动态网页的就不行。
如果要在Apache环境下运行JSP的话就需要一个解释器来执行JSP网页,而这个JSP解释器就是Tomcat;
3、Apache:侧重于HTTPServer ,Tomcat:侧重于Servlet引擎,如果以Standalone方式运行,功能上与Apache等效,
支持JSP,但对静态网页不太理想;
4、Apache是Web服务器,Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,
但是可以独立于Apache运行;
5、实际使用中Apache与Tomcat常常是整合使用:如果客户端请求的是静态页面,则只需要Apache服务器响应请求。如果客户端请求动态页面,
则是Tomcat服务器响应请求。因为JSP是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销。可以理解Tomcat为Apache的一种扩展。

2.Nginx与Apache比较

  1. Nginx相对于Apache的优点轻量级,同样起Web 服务,比Apache占用更少的内存及资源抗并发,Nginx 处理请求是异步非阻塞的,而Apache 则是阻塞型的,在高并发下Nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单,提供负载均衡社区活跃,各种高性能模块出品迅速。
  2. Apache 相对于Nginx 的优点,Apache的 Rewrite 比Nginx 的强大;支持动态页面;支持的模块多,基本涵盖所有应用;性能稳定,而Nginx相对Bug较多。
    3)两者优缺点比较:Nginx 配置简洁, Apache 复杂;Nginx 静态处理性能比 Apache 高 3倍以上;Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端用;Apache 的组件比 Nginx 多;Apache是同步多进程模型,一个连接对应一个进程;Nginx是异步的,多个连接(万级别)可以对应一个进程;Nginx处理静态文件好,耗费内存少;动态请求由Apache去做,Nginx只适合静态和反向;Nginx适合做前端服务器,负载性能很好;Nginx本身就是一个反向代理服务器 ,且支持负载均衡。

四、总结

Tomcat是动态解析容器,处理动态请求,是编译JSP\Servlet的容器,Nginx有动态分离机制,静态请求直接就可以通过Nginx处理,动态请求才转发请求到后台交由Tomcat进行处理。Apache在处理动态有优势,Nginx并发性比较好,CPU内存占用低。可以说Tomcat 、Nginx和Apache各有千秋,每个服务器都有自己擅长处理的领域,共同承担起目前大部分程序对服务器的需求。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。