Nginx初阶——认识Nginx

Nginx的应用场景

Nginx常见的应用场景如下图所示:

静态资源服务

曾经的Web开发并不是完全的前后端分离,最明显的例子就是JSP,基本是前后端不分离,直到后来Spring生态体系和前端框架的发展,Web应用程序成了单纯的提供应用接口服务的程序,因此静态资源就没必要交给应用服务器去处理,而是交给Nginx

反响代理服务

Nginx的缓存加速和负载均衡,极大提高了整体系统的并发能力,Nginx的并发相对于应用服务器要强大太多

API服务

Nginx里面提供了数据库服务、缓存、应用服务相关API,模块化设计。比如数据库服务器的并发性能本来就远高于应用服务器,如果直接让应用服务器去操作数据库的话无疑是降低了系统的性能,于是Nginx提供了数据库访问的API,提升系统整体性能

Nginx出现的历史背景

现在越来越多的网络设备接入,尤其是在我们国家这样的人口大国,每年双十一这样的并发量不是单纯的应用服务器能够撑得住的。虽然计算机硬件在不断升级,但是这种问题就目前来看从硬件的角度发生的改变是微乎其微的,早期的Apache服务器维护一个连接就需要一个进程来维护,这样做的代价就是从硬件的角度就已经限制了服务器的并发。
即使从8核处理器换到16核心处理器并发性能也不会得到成倍的提升,因为操作系统和软件没做好服务和多核架构的准备!

下面这张图是最近几年服务器市场份额变化图:

虽然现在排名第二,但是在一些追求长期稳定的服务中通常不会更换服务器,就比如学校的教务网站,ASP.NET实现的,虽然每次网上选课系统都会崩盘,但是学校为了稳定性不会轻易更换服务架构的。所以表面看起来Apache的使用高于Nginx的,但是往往新增的服务器都会使用Nginx

Nginx的优点

高并发需要条件就是每个链接需要更小的内存,吃更少的CPU资源。Nginx做到了,从上图中可以看到,在并发量很低的时候Nginx的性能其实还不如其他的服务器,但是Nginx在高并发量的时候,性能仍然很稳定,而其他的服务器的性能会严重下降,所以Nginx的高并发性能成为了人们选择Nginx的理由

Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。Nginx官方表示保持10000个没有活动的连接,它只占2.5M内存

Nginx与其他服务器的对比

Nginx的组成

Nginx版本发布

从这个图上呢也可以看出来Nginx的版本迭代情况,绿色的线表示Nginx的Bug修复情况,Bug越来越少也同样是说明了Nginx越来越稳定了,2009年Nginx开始支持Windows操作系统,2011年才成立Nginx的商业公司…...

Nginx版本选择

  • 免费开源版本 nginx.org
  • 商业版 nginx.com
  • 阿里巴巴的Tengine
  • 免费版OpenResty
  • 商业版OpenResty

原文地址:https://www.cnblogs.com/timdevelop/p/10924988.html

时间: 2024-10-20 14:04:28

Nginx初阶——认识Nginx的相关文章

Nginx初体验(一):nginx介绍

今天我们来介绍一下Nginx. Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件(IMAP/POP3)代理服务器 特点: 反向代理,负载均衡,动静分离 首先我们来介绍一下正向代理服务器以及反向代理服务器 正向代理服务器: 正向代理需要我们的用户,手动的设置代理服务器的ip和端口号 (图片:正向代理服务器.png) 例如我们的用户A要访问服务器B,一般来说,我们用户A需要经过交换机A,以及交换机B, 然后才能到服务器B,但是如果交换机A或者是交换机B有一台出现了错误,那么我们就 不

Nginx - Windows下Nginx初入门

公司刚使用nginx,预先学习下.鉴于机器没有Linux环境,在Windows熟悉下. 下载 1)下载地址: http://nginx.org 目前(2017-05-30),nginx的稳定版本是,在官网下载先,12.0 2017-04-25 nginx-1.13.0 mainline version has been released. 2017-04-12 nginx-1.12.0 stable version has been released, incorporating new fea

Nginx初探索之安装、启动、关闭和重启

(本文中,Centos的系统命令用黑体斜杠表示出来,并且加上#提示符,以便阅读) Nginx.Apache.Tomcat都是时下比较优秀的服务器软件,这哥三也是运维工程师需要掌握的服务器软件,至少三者会其二,这哥三搭配服务器硬件和服务器操作系统组成了一个完整的服务器.这三款服务器软件各有特点,Tomcat是一个基于JAVA的硬性软件,而后两者是软性的,Apache现在是应用面最广的,但是他在高并发的特性上明显不如Nginx,不过它胜在模块比Nginx丰富. Nginx可以在Windows下使用也

Nginx初探索之基本配置

Nginx是干啥的?为什么他这么受重视? 对于这个问题用最简单的话来说,Nginx类似是一个阀门软件,他来控制流量去那一边,来实现负载均衡.比如登陆一个很火的网站,网站虽然用的是一个域名,但是肯定机房里不会是只有一台服务器,而是好几十台乃至成百上千台服务器在一起发功,当用户接入的时候,Nginx就会根据情况分配用户去不同的子服务器访问,这样不会让局部的服务器压力过大,这样的"负载均衡"对服务器的稳定是很有帮助的. 当然负载均衡仅仅是nginx能力的一部分. 而虽然规定了子服务器,而且每

nginx 初了解

随着现代web开发的发展,restful,前后端分离,前端js框架的应用越来越普遍.很多web应用请求的接口可能根本就存在于不同的服务器,类似于微信,支付宝等等.这其中就会存在跨域的问题.简单来说,跨域就是浏览器为了防止黑客能够随意改变表单的请求地址的一种安全防护.如果黑客可以随意将一个表单的请求地址改成其控制的服务器地址,在返回一个可以获取用户填写信息的页面,就会造成用户信息泄露.这种浏览器跨域防护跟现在的开发模式又有相悖的地方.笔者最初使用nginx 就是为了解决前后端分离带来的跨域问题.

Nginx高阶用法(一)

Nginx 状态页   基于nginx模块ngx_http_auth_basic_module实现,在编译安装nginx的时候需要添加编译参数--with-http_stub_status_module,否则配置完成之后监测会是提示语法错误. 查看是否加载了ngx_http_auth_basic_module模块 [[email protected] ~]#/apps/nginx/sbin/nginx -V nginx version: nginx/1.14.2 built by gcc 4.8

Nginx高阶用法(二)

关于favicon.ico favicon.ico 文件是浏览器收藏网址时显示的图标,当客户端使用浏览器问页面时,浏览器会自己主动发起请求获取页面的favicon.ico文件,但是当浏览器请求的favicon.ico文件不存在时,服务器会记录404日志,而且浏览器也会显示404报错. 具体配置 # 一:服务器不记录访问日志: # location = /favicon.ico { # log_not_found off; # access_log off; # } # 二:将图标保存到指定目录访

平衡树初阶——AVL平衡二叉查找树+三大平衡树(Treap + Splay + SBT)模板【超详解】

平衡树初阶——AVL平衡二叉查找树 一.什么是二叉树 1. 什么是树. 计算机科学里面的树本质是一个树状图.树首先是一个有向无环图,由根节点指向子结点.但是不严格的说,我们也研究无向树.所谓无向树就是将有向树的所有边看成无向边形成的树状图.树是一种递归的数据结构,所以我们研究树也是按照递归的方式去研究的. 2.什么是二叉树. 我们给出二叉树的递归定义如下: (1)空树是一个二叉树. (2)单个节点是一个二叉树. (3)如果一棵树中,以它的左右子节点为根形成的子树都是二叉树,那么这棵树本身也是二叉

Nodejs初阶之express

Nodejs初阶之express 2014-02-28 23:00 by 聂微东, 85627 阅读, 26 评论, 收藏, 编辑 PS: 2014/09/24 更新<Express 4.X 启航指南>,欢迎阅读和评论:) 老规矩,开头部分都是些自娱自乐的随想,想到哪写到哪... 到今天俺已经在俺厂工作俩年零几天了,工作以来头一回在一家企业工作超俩年,对于这俩年确实只有满满的成就感,不管是工作还是生活...写到这句突然又想写篇这俩年的总结,等这篇文章发了之后就着手整理吧,吼吼. 那篇<n