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

简介: 因为Nginx在我们项目中的地位是越来越重要了,所以最近话时间整理了下Nginx的内容了,希望对各位小伙伴有帮助哦!

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

image.png

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/

image.png

  截止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,实现动静分离


相关文章
|
缓存 应用服务中间件 Apache
关于Nginx的一些你不得不知道的内容(Nginx的安装配置),内容比较多建议收藏哦
关于Nginx的一些你不得不知道的内容(Nginx的安装配置),内容比较多建议收藏哦
关于Nginx的一些你不得不知道的内容(Nginx的安装配置),内容比较多建议收藏哦
|
19天前
|
移动开发 前端开发 JavaScript
前端vue2、vue3去掉url路由“ # ”号——nginx配置(一)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
52 0
|
19天前
|
JavaScript 前端开发 应用服务中间件
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
24 0
|
1月前
|
安全 应用服务中间件 Linux
linux nginx的配置总结
linux nginx的配置总结
19 0
|
19天前
|
前端开发 JavaScript 应用服务中间件
前端vue2、vue3去掉url路由“ # ”号——nginx配置(二)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
54 0
|
4天前
|
应用服务中间件 nginx
nginx配置集群轮训策略
nginx配置集群轮训策略
11 0
|
5天前
|
安全 网络协议 应用服务中间件
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
|
12天前
|
应用服务中间件 PHP nginx
php如何实现检测nginx配置的正确性
请确保在执行此操作时,PHP有足够的权限来执行Nginx命令和访问Nginx配置文件。另外,将上述代码嵌入到您的应用程序中时,要注意安全性,以防止潜在的命令注入攻击。
51 3
|
19天前
|
安全 应用服务中间件 网络安全
linux_nginx中添加ssl配置(open ssl)
linux_nginx中添加ssl配置(open ssl)
25 1
|
19天前
|
JSON JavaScript 前端开发
vue2_vite.config.js的proxy跨域配置和nginx配置代理有啥区别?
vue2_vite.config.js的proxy跨域配置和nginx配置代理有啥区别?
33 1