Web服务器是使用HTTP协议与客户端浏览器交换信息(所以也叫HTTP服务器)并为互联网客户提供服务(浏览信息、下载资源等)的主机。).发展趋势:从HTML到XML,从有线到无线,从无声到有声。
Web服务器的工作原理可以分为以下四个步骤:
①连接过程:是Web服务器与其浏览器之间建立的连接。检查连接过程是否实现。用户可以找到并打开虚拟文件套接字。该文件的建立意味着连接过程已经成功建立。
②请求过程:Web浏览器利用socket文件向其服务器发出各种请求。
(3)响应过程:在请求过程中发出的请求通过使用HTTP协议传输到Web服务器,然后执行任务处理。然后,通过使用HTTP协议将任务处理的结果传送到网络浏览器,并且在网络浏览器上显示所请求的界面。
④关闭连接:是最后一步——响应过程完成后,Web服务器与其浏览器断开连接的过程。Web服务器的上述四个步骤联系紧密,逻辑严密,可以支持多进程、多线程以及多进程、多线程混合的技术。
Web只是提供了一个可以执行服务器端程序和返回(程序生成的)响应的环境,没有超出功能的范围。服务器程序的功能通常包括事务处理、数据库连接和消息。尽管Web服务器不支持事务处理或数据库连接池,但是可以使用各种策略对其进行配置,以实现容错和可伸缩性(例如负载平衡和缓冲)。集群特性经常被误认为只是特定于应用服务器的特性。
主流Web服务器
Unix/Linux/Windows/MacOS等操作系统下使用最广泛的免费HTTP服务器:Apache、Nginx、Tomcat。Windows Server系列操作系统使用IIS,Apache是使用最广泛的Web服务器。
什么是IIS?
IIS的整个过程就是互联网信息服务(Internet Information Service)。其功能是提供信息服务,如设置http和ftp服务器等。WindowsNT内核系统自带,不需要下载。
其语言版本与系统安装盘相同,即NT内核操作系统中文版自带ISS中文版ISS。不同系统版本不同。在NT中是4.0,在Win2000中是5.0,在WinXP中是5.1,在Win2003中是6.0,在win2008 r2中是iis7.5,在win2012中是iis8。不同的版本有不同的功能。
IIS是Windows NT Server 4.0提供的文件和应用程序服务器,它是在Windows NT Server上构建Internet服务器的基本组件。它与Windows NT Server完全集成,允许使用Windows NT Server的内置安全性和NTFS文件系统来构建一个强大而灵活的Internet/Intranet站点。
什么是阿帕奇
Apache是世界上使用最多的网络服务器软件。它可以在几乎所有广泛使用的计算机平台上运行。由于其跨平台性和安全性,它是最流行的Web服务器端软件之一。它快速、可靠,并且可以通过简单的API进行扩展,将Perl/Python等解释器编译到服务器中。
Apache Server(简称Apache)是Apache Software Foundation的开源Web服务器,可以运行在大多数计算机操作系统上。由于其跨平台性和安全性,被广泛使用,是最流行的web服务器端软件之一。它快速、可靠,可以通过简单的API扩展将Perl/Python等解释器编译到服务器中。
Apache服务器是一个模块化的服务器,它起源于NCSAhttpd服务器。经过多次修改,它已经成为世界上排名第一的Web服务器软件。
它可以在几乎所有广泛使用的计算机平台上运行。
Nginx是什么?
Nginx是免费、开源的高性能HTTP服务器和反向代理服务器;它也是一个IMAP、POP3和SMTP代理服务器。Nginx可以作为HTTP服务器发布网站,Nginx可以作为反向代理实现负载均衡。
Nginx使用基于事件的驱动架构,这使得它能够支持数百万个TCP连接。
模块化程度高、免费软件许可的第三方模块层出不穷(这是一个开源时代~)
Nginx是一个跨平台的服务器,可以运行在Linux、Windows、FreeBSD、Solaris、AIX、Mac OS和其他操作系统上。
这些优秀的设计带来的巨大稳定性!
什么是Tomcat?
Tomcat是一个中间件。B/S架构下,浏览器发送的http请求通过tpmcat中间件转发到最终目的服务器,响应消息通过tomcat返回给浏览器。
tomcat做的事情主要包括:在port monitor中开始监听用户的请求,解析用户发送的http请求,然后访问你指定的应用系统,再通过tomcat将你返回的页面返回给用户。
Tomcat server是一款免费开源的Web应用服务器,属于轻量级应用服务器。广泛应用于中小型系统和并发用户不多的场合。它是开发和调试JSP程序的首选。
对于一个初学者来说,可以认为在一台机器上配置Apache server,就可以用来响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上tomcat是Apache服务器的扩展,但是它在运行时独立运行,所以当您运行Tomcat时,它实际上是作为一个独立于Apache的进程运行的。
优势对比
没有服务器不好,只是应用场景不对。
先说IIS。如果成本是您的首要考虑因素,灯组合配方会更便宜,因为没有许可费。其中,考虑到安全性,apache被普遍认为是更安全的选择。如果您想在Windows操作系统服务器上运行其他任何东西,IIS显然不是一个好的选择。但是,如果您想运行依赖于ASPX的脚本,那么您需要选择IIS,因为它比LAMP失败时更容易排除故障。
先说Apache和Nginx。一般来说,nginx用于需要性能的web服务。如果你需要的不是性能而是稳定性,那么apache。后者的各种功能模块实现都比前者好,比如ssl模块就比前者好,可配置项也多。这里需要注意的是,epoll (kqueue epoll(freebsd)的网络IO模式是nginx处理性能高的根本原因,但并不是所有情况下都是epoll胜出。如果只有少数文件提供静态服务,apache的select模型可能比EPOLL有更高的性能。当然,这只是一个基于网络IO模型原理的假设,真正的应用还需要实测。
以下是无忧云的摘要:
1.作为Web服务器:与Apache相比,Nginx使用更少的资源,支持更多的并发连接,表现出更高的效率,这使得Nginx特别受虚拟主机提供商的欢迎。在高连接并发的情况下,Nginx是Apache服务器很好的替代品:Nginx是美国虚拟主机业务中老板们经常选择的软件平台之一。它可以支持多达50,000个并发连接的响应。感谢Nginx选择epoll和kqueue作为我们的开发模型。
Nginx作为负载均衡服务器:Nginx可以直接支持Rails和PHP程序在内部服务于外界,也可以支持作为HTTP代理服务器服务于外界。Nginx是用C写的,在系统资源开销和CPU效率上比Perlbal好很多。
2.Nginx的配置简单,Apache复杂,Nginx特别容易启动,而且可以7*24连续运行,即使运行几个月也不需要重启。您还可以不间断地升级软件版本。Nginx的静态处理性能比Apache高3倍以上,而且Apache对PHP的支持比较简单,Nginx需要配合其他后端使用。Apache的组件比Nginx多。
3.核心区别在于,apache是同步多进程模型,一个连接对应一个进程;Nginx是异步的,多个连接(万级)可以对应一个进程。
4.nginx的优势是处理静态请求,cpu内存利用率低。apache适合处理动态请求。所以现在一般前端用nginx做反向代理抗压,apache做后端处理动态请求。
无忧云得到中国电信大力支持发展IDC业务,与全球120个国家的顶级机房达成战略合作关系,为互联网货币行业、IOT行业、直销行业、游戏行业、电子商务行业的企业客户提供一站式安全解决方案。详情请咨询无忧云客服
客服支持
微信咨询
售后