关于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的安装配置),内容比较多建议收藏哦
|
1月前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解
|
1月前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
262 0
|
1月前
|
应用服务中间件 Linux nginx
Jetson 环境安装(四):jetson nano配置ffmpeg和nginx(亲测)之编译错误汇总
这篇文章是关于在Jetson Nano上配置FFmpeg和Nginx时遇到的编译错误及其解决方案的汇总。
93 4
|
10天前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
23天前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
116 1
nginx配置反向代理404问题
|
8天前
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
39 1
|
1月前
|
编解码 Ubuntu 应用服务中间件
Jetson 环境安装(三):jetson nano配置ffmpeg和nginx(亲测)
本文介绍了在NVIDIA Jetson Nano上配置FFmpeg和Nginx的步骤,包括安装、配置和自启动设置。
152 1
Jetson 环境安装(三):jetson nano配置ffmpeg和nginx(亲测)
|
28天前
|
缓存 负载均衡 应用服务中间件
Nginx配置
【10月更文挑战第22天】在实际配置 Nginx 时,需要根据具体的需求和环境进行调整和优化。同时,还需要注意配置文件的语法正确性和安全性。
46 7
|
1月前
|
前端开发 JavaScript 应用服务中间件
终极 Nginx 配置指南
本文介绍了Nginx的基本配置及其优化方法。首先,通过删除注释简化了Nginx的默认配置文件,使其更易于理解。接着,文章将Nginx配置文件分为全局块、events块和http块三部分进行详细解释。此外,还提供了如何快速上线网站、解决前端history模式404问题、配置反向代理、开启gzip压缩、设置维护页面、在同一IP上部署多个网站以及实现动静分离的具体配置示例。最后,附上了Nginx的基础命令,包括安装、启动、重启和关闭等操作。