点击上方SRE运维派,关注我,选择设为星标

优质文章,及时送达

主流的WEB服务器介绍

Web服务器是提供Web信息服务的软件,它通过HTTP或HTTPS协议与客户端通信,接受客户端请求,处理请求,然后返回响应数据,Web 服务器的主要工作是通过存储、处理和交付网页给用户来显示网站内容,一个成熟的WEB服务器软件不仅仅只是处理客户端请求,还要有良好的安全性和稳定性,以满足用户不断变化和增长的需求

以下是一些主流的Web服务器以及它们的特点,这些Web服务器都有各自特点和优势,在使用的时候,要取决于项目需求,性能要求及开发人员偏好等

是目前市场占有率最高的WEB服务器,它免费开源,功能强大,支持多种操作系统,可在多平台上运行,包括Unix、Linux、等,同时具有强大的模块化体系结构,提供了丰富的模块,也支持许多第三方模块,允许用户自定义服务器功能,另外也支持虚拟主机配置

Nginx

Nginx是一个高性能的Web服务器,广泛应用于高并发、大流量的互联网应用场景中,Nginx还可以作为反向代理服务器、负载均衡服务器,其优异的静态处理能力,使其在处理静态文件时具有很高的效率web服务器安全配置,由于选择了高效的网络IO模型web服务器安全配置,使其在高并发大流量的工作场景下,对于资源(CPU,内存等)的要求非常低,且运行非常稳定

IIS( )

IIS 是微软公司开发的一种Web服务组件,其中包括WEB服务器, FTP服务器,NNTP服务器和SMTP服务器,分别用于网页浏览,文件传输,新闻服务和邮件服务等业务,它提供ISAPI作为扩展WEB服务器功能的编程接口,对ASP、NET等微软技术有很好的支持,同时还提供了,可以实现对数据库的查询和更新

是一个开放源代码、运行和JSP Web应用软件,它不仅仅是一个WEB服务器,也是一个和JSP容器,但其对静态文件和高并发的处理能力较弱

WEB 服务器市场占有率排名

公司于1994年底在英国成立,多年来一直致力于互联网市场以及在线安全方面的咨询服务,其中在国际上最具影响力的当属其针对网站服务器,域名解析/主机提供商,以及SSL市场所做的客观严谨的分析研究。

#统计网站https://www.netcraft.com/resources/?type=blog&topic=web-server-survey

1 Nginx 基础

1.1 Nginx 介绍

Nginx 是一个强大而灵活的服务器软件,适用于处理高流量、高并发的Web应用程序,同时具有反向代理、负载均衡、静态文件服务等多种功能。由于其性能和可配置性,NGINX被广泛应用于许多大型网站和应用,NGINX 由伊戈尔·赛索耶夫为俄罗斯访问量第二的.ru 站点开发的,开发工作最早从2002年开始,第一版发公开发布时间是 2004 年 10月4日,版本号为 0.1.0

2019 年 3 月份,F5 公司与 Nginx 达成协议,F5 将收购 Nginx 所有的已发行股票,总价值约为 6.7 亿美金,合约人民币 44.97 亿人民币, Nginx 的核心模块代码总量约为 行(包括空格,注释),所以我们可以认为 Nginx 项目的一行代码的值约为 2.2万人民币

Nginx 经历了十几年的迭代更新(/en/),目前功能已经非常完善且运行稳定,当前该项目分为社区版和商业版,社区版里面又分为开发版(版本号为奇数),最新稳定版(版本号为偶数)和过期版,Nginx 功能丰富,可以作为 WEB 服务器使用,也可以作为反向代理服务器或者邮件服务器,能够快速的响应静态网页请求,支持 /SSL/ Host/URL /Gzip/HTTP Basic Auth/HTTP 或 TCP 负载均衡(v1.9版本以上且开启 模块)等功能,并且支持第三方的功能扩展

另外,还有一些基于 Nginx 做二次开发的项目,其中比较著名的有 , 等

http://nginx.org/ #开源项目网站https://nginx.com/ #商业化项目网站https://www.nginx-cn.net/ #中文商业化项目网站https://tengine.taobao.org/ #Tengine 官网

1.2 Nginx 架构和工作模型

Nginx 整体架构

Nginx 工作模型

在Nginx中,进程和进程分别承担不同的角色,共同协作以提供高性能的服务

进程

进程

进程 与 进程的联系

在运行时, 进程负责监控 进程的状态,如果某个 进程异常退出, 进程会重新启动一个新的 进程,确保服务的稳定性。 进程和 进程之间通过信号进行通信,例如在重新加载配置时, 进程会向 进程发送信号,通知它们重新加载配置而无需停止服务

这种-模型使Nginx在高并发环境下表现出色,同时能够保持稳定性和可扩展性。进程和进程之间的协同工作是Nginx架构的关键之一

#nginx 中的 master 进程和 worker 进程[root@ubuntu ~]# ps aux | grep nginx
[root@ubuntu ~]# pstree -p | grep nginx

1.3 Nginx 模块

Nginx的模块化设计使得用户可以根据需求选择并集成不同类型的模块,从而定制化地配置和扩展Nginx服务器的功能

Nginx 模块可以分为两大类:核心模块和第三方模块

核心模块(Core )

Nginx 的核心模块主要有三部分,分别是


限时特惠:
本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情

站长微信:Jiucxh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注