关于Nginx的一些你不得不知道的内容(基本介绍),内容比较多建议收藏哦

本文介绍了Nginx的诞生历史、解决的C10K问题以及与Apache的对比。Nginx由Igor Sysoev于2000年创建,因其高效并发性能在互联网时代迅速崛起。相较于Apache,Nginx能更好地处理高并发连接,成为Web服务器领域的主流选择。此外,文章还提及Nginx与Tomcat的区别,强调了HTTP服务器与应用服务器在架构中的不同角色。
摘要由CSDN通过智能技术生成

  因为Nginx在我们项目中的地位是越来越重要了,所以最近话时间整理了下Nginx的内容了,希望对各位小伙伴有帮助哦!
在这里插入图片描述

Nginx基本介绍

发音:Engine X
源码:https://github.com/nginx/nginx

1. 1. Nginx诞生历史

1. 1. 1.感受一下Nginx的地位

  从1995年以来的市场占有率变化,可以看到最近几年Nginx已经超过Apache成 为 Web Server 霸主。
https://news.netcraft.com/archives/category/web-server-survey/
在这里插入图片描述

  截止2020年12月,全球排名前1000的网站, 46%在用Nginx。Nginx的诞生和蓬勃发展,可以说是顺应了互联网时代的历史潮流。

1.1.2.什么是C10K问题

  我们以中国的互联网发展历史为例,来感受一下互联网环境和趋势的变化:
  1994年,北京接入互联网,门户和搜索大行其道,代表公司:网易、新浪、搜狐 百度。
  2000年,岀现互联网泡沫,社交电商游戏风头正盛,代表公司:腾讯QQ、新浪博
  2009年,3G牌照发布;2013年,4G牌照发布,智能手机普及率越来越高,中国全面进入移动互联网时代,代表公司:微信、微博、小米、滴滴、美团、饿了么、字节 跳动。20多年的时间里面,网络对于生活的渗透越来越全面,中国以及全球网民的数量越 来越多,计算机的计算效率越来越高、存储空间越来越大、网速越来越快、体积越来越 小。
  也就是在2000年以后,互联网用户数量持续增加,网站的活跃用户也大大增加,如 何支撑上万个用户同时访问成了一个突出的问题。Dan Kegel发表了著名的C10K问题 的论文,也就是单机1万个并发连接的问题(Concurrency 10K) o

http://www.kegel.com/c1 Ok.html

  在这里面,Dan说升级硬件代价太大了,必须从软件设计的层面来解决。 在这样的时代背景中,在2000年前后的节点,Nginx (Engine X)诞生了。 https://www.nginx.com/people/igor-sysoev/

1. 1. 3. Nginx 的诞生

官网:http://nginx.org
  2000年左右,时年42岁的俄罗斯系统管理员IgorSysoev开始启动Nginx项目。 2002年十月Sysoev发布了第一段公共简码,它是用C语言编写的。2004年Nginx 开源了。
  Nginx轻松地解决了 C10K的问题,单机性能可以达到5W左右的并发,慢慢地流 行起来。
  2011年,Igor Sysoev成立了商业公司,12年开始为企业提供商业支持,13年发 布了商业版本的Nginx Pluso我们一般说的Nginx版本指的是开源的版本,域名是 nginx.org。商业版本的 Nginx 域名是 nginx.com。
  在2019年5月,美国公司F5 Networks以6.7亿美元的价格收购了 Nginx公司。 有的同学可能有所耳闻,F5是一种硬件负载均衡器,价格昂贵,动辄几十万上百万,很 多银行在用。
19年12月Nginx之父俄罗斯程序员Igor Sysoev被警方带走,他的老东家 Rambler集团起诉了他,声称其拥有NginxWeb服务器代码的完全所有权。主要争议点 就在于,Nginx是Sysoev在Rambler上班的时候开发的,所以是属于公司的。当然后 面因证据不足被释放了。

1.2.Nginx与其他Web服务器对比

  Nginx是一个轻量级的HTTP服务器(HTTP Server) o当然除了 HTTP, Nginx 也支持SMTP、POP3和IMAP协议。还可以通过模块支持TCP。
  和 Apache (全名 Apache HTTP Server Project , https://httpd.apache.org/) 一样,它们都是用来负责处理和响应用户请求的。Apache在零几年的时候非常流行, LAMP (Linux+Apache+MySQL+PHP)中的 A就是Apacheo
  Nginx和Apache的最大的区别就是Nginx能支持更大的并发量。

HTTP Server和Tomcat有什么区别?

  注意,Tomcat是Application Server。一般我们说的应用服务器(Application Server)是用来存放和运行系统程序的服务器,负责处理程序中的业务逻辑,如Tomcat、 Weblogic、Jboss (现在大多数应用服务器也包含了 web服务器的功能)。
  HTTP服务器一般是用来访问静态的资源,而应用服务器可以动态生成资源内容,比如 Java 的 Servleto
Nginx也可以通过模块开发来提供应用功能,Tomcat也可以直接提供HTTP服务, 通常用在内网和不需要流控等小型服务的场景(小型的应用服务器,不追求性能的业务, 用不到Nginx)因为HTTP服务器跑在应用服务器的前面,所以也叫做代理服务器。
  一般来说HTTP服务器和应用服务器是一起使用的。比如运行多个Tomcat,通过 Nginx实现负载均衡。或者把静态资源放在Nginx,动态资源放在Tomcat,实现动静分离

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

波波烤鸭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值