nginx是什么并详细说明工作原理(nginx 配置详解是什么)

:暂无数据 2026-04-26 23:40:02 0
各位朋友,关于nginx是什么并详细说明工作原理的讨论一直很多,今天咱们不聊复杂的,就聚焦于nginx 配置详解是什么,用最直白的方式把它讲清楚。

本文目录

nginx 配置详解是什么

Nginx是lgor Sysoev为俄罗斯访问量第二的rambler***站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。

Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。

Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有*****%的使用比率,大约为2220万个网站。

1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。

2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。

***隐藏网址***

***隐藏网址***

5、location块:配置请求的路由,以及各种页面的处理情况。

Nginx常用功能。

1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。

Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案。

。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。

2、负载均衡

Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。

nginx是什么意思

意思是一种服务器。

Nginx (engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler***站点(俄文:Рамблер)开发的,第一个公开版本*****发布于2004年10月4日。

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx *****发布。

介绍

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。

其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

Nginx可以在大多数UnixLinux OS上编译运行,并有Windows移植版。Nginx的*****稳定版已经于2013年4月24日发布,一般情况下,对于新建站点,建议使用最新稳定版作为生产版本,已有站点的升级急迫性不高。

Nginx:基本原理篇

Nginx的IO通常使用epoll,epoll函数使用了I/O复用模型。与I/O阻塞模型比较,I/O复用模型的优势在于可以同时等待多个(而不只是一个)套接字描述符就绪。Nginx的epoll工作流程如下:

2 . 当一个client连接到来时,所有accept的work进程都会受到通知,但只有一个进程可以accept成功,其它的则会accept失败,Nginx提供了一把共享锁accept_mutex来保证同一时刻只有一个work进程在accept连接,从而解决惊群问题

惊群现象:惊群效应就是当一个fd的事件被触发时,所有等待这个fd的线程或进程都被唤醒。一般都是socket的accept()会导致惊群,很多个进程都block在server socket的accept(),一但有客户端进来,所有进程的accept()都会返回,但是只有一个进程会读到数据,就是惊群。
Nginx 采用accept-mutex来解决惊群问题:当一个请求到达的时候,只有竞争到锁的worker进程才会惊醒处理请求,其他进程会继续等待,结合 timer_solution 配置的最大的超时时间继续尝试获取accept-mutex

I/O 复用接口有select 和 epoll 两种模型,首先介绍一下这两种模型的执行方式:

由于网络响应时间的延迟使得大量TCP连接处于非活跃状态,但调用select()还是会对 所有的socket进行一次线性扫描 ,会

调用一次epoll_wait()获得就绪文件描述符时,返回的并不是实际的描述符,而是一个代表就绪描述符数量的值,拿到这些值去epoll指定的一个数组中依次取得相应数量的文件描述符即可,这里使用内存映射(mmap)技术, 避免了复制大量文件描述符带来的开销。

在select/poll时代,服务器进程每次都把这100万个连接告诉操作系统(从用户态复制句柄数据结构到内核态),让操作系统内核去查询这些套接字上是否有事件发生,轮询完后,再将句柄数据复制到用户态,让服务器应用程序轮询处理已发生的网络事件,这一过程资源消耗较大,因此,select/poll一般只能处理几千的并发连接。
epoll的设计和实现与select完全不同。epoll通过在Linux内核中申请一个简易的文件系统,把原先的select/poll调用分成了3个部分:

调用epoll_create()建立一个epoll对象(在epoll文件系统中为这个句柄对象分配资源)
调用epoll_ctl向epoll对象中添加这100万个连接的套接字
调用epoll_wait收集发生的事件的连接

只需要在进程启动时建立一个epoll对象,然后在需要的时候向这个epoll对象中添加或者删除连接。同时,epoll_wait的效率也非常高,因为调用epoll_wait时,并没有一股脑的向操作系统复制这100万个连接的句柄数据,内核也不需要去遍历全部的连接。

apache 采用的select模型,nginx采用epoll模型,nginx 处理请求是异步非阻塞的,而apache则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能。在Apache+PHP(prefork)模式下,如果PHP处理慢或者前端压力很大的情况下,很容易出现Apache进程数飙升,从而拒绝服务的现象。

Nginx 常用功能

***隐藏网址***

nginx是什么 nginx是什么

  nginx是一款使用c语言开发的高性能的HTTP和反向代理web服务器,具有IMAP/POP3/SMTP的服务。Nginx是异步框架的网页服务器,能用作反向代理、负载平衡器和 HTTP 缓存。
  nginx,是俄罗斯的程序设计师伊戈尔·赛索耶夫所开发的,nginx 是免费的开源软件,根据类 BSD 许可证的条款发布。根据官方测试,nginx能够支撑5万并发链接,并且cpu、内存等资源消耗非常低,运行非常稳定。
  nginx,它的特点是占有内存少,并发能力强。它的并发能力在同类型的网页服务器中表现也是较好的。在中国大陆,使用nginx网站用户有:百度、腾讯、淘宝、京东、新浪、网易等。

Nginx的功能与特性

Nginx在过去的10年里,作为Web服务器行业里的新生代迅速崛起。Nginx由俄罗斯工程师Igor Sysoev编写,2004年10月4日发布了第一个公众版本:*****一直占据Web服务器行业的第一,但自2008年开始,它的市场份额在潜移默化的转移到Nginx身上。直至今日,据Netcraft的统计显示,全世界排名前100万的网站中有超过27%的网站在使用Nginx作为Web服务器。Nginx迅速在一向稳定的Web服务器行业崛起并站稳跟脚.

1 、静态HTTP服务器

Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。

2、反向代理服务器

客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端,此时Nginx就是反向代理服务器。
3、负载均衡

当网站访问量非常大,将同一个应用部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是,其中一台服务器万一挂了,只要还有其他服务器正常运行,就不会影响用户使用。Nginx可以通过反向代理来实现负载均衡,并能使用3种自带策略及2种第三方策略。

(1)RR(默认,每个请求按时间顺序逐一分配到不同的后端服务器)

(2)权重(指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况)

(3)ip-hash(以上配置会将请求轮询分配到应用服务器,也就是一个客户端的多次请求,有可能会由多台不同的服务器处理(若存在登录session时则需要重复登录)。ip-hash根据客户端ip地址的hash值将请求分配给固定的某一个服务器处理)

(4)fair(第三方 按后端服务器的响应时间来分配请求,响应时间短的优先分配)

(5)url_hash(第三方 按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。 在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法)

4、虚拟主机

有的网站访问量大,需要负载均衡。有的网站,由于访问量太小,需要节省成本,将多个网站部署在同一台服务器上。例如将*****和*****两个网站部署在同一台服务器上,两个域名解析到同一个IP地址,但是用户通过两个域名却可以打开两个完全不同的网站,互相不影响,就像访问两个服务器一样,所以叫两个虚拟主机。

在服务器8080和8081分别开了一个应用,客户端通过不同的域名访问,根据server_name可以反向代理到对应的应用服务器。虚拟主机的原理是通过HTTP请求头中的Host是否匹配server_name来实现的,另外,server_name配置还可以过滤有人恶意将某些域名指向你的主机服务器。

1、IO多路复用epoll

2、轻量级

3、CPU亲和(affinity)

4、sendfile

“nginx”是什么意思

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler***站点(俄文:Рамблер)开发的,第一个公开版本*****发布于2004年10月4日。

其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx *****发布。

反向代理的优势:

1、加快了对内部服务器的访问速度

在内部服务器前放置两台反向代理服务器,分别连接到教育网和公网,这样公网用户就可以直接通过公网线路访问学校服务器,从而避开了公网和教育网之间拥挤的链路。同时反向代理服务器的缓存功能也加快了用户的访问速度。

2、节约了有限的IP资源

校园网内部服务器除使用教育网地址外,也会采用公网的IP地址对外提供服务,公网分配的IP地址数目是有限的,如果每个服务器有分配-个公网地址,那是不可能的,通过反向代理技术很好地解决了IP地址不足的问题。

回顾全文,关于nginx 配置详解是什么nginx是什么并详细说明工作原理中的作用,你能用自己的话复述出来吗?
本文编辑:admin

本文相关文章:


apache和php配置(apache配置文件中怎么配置php)

apache和php配置(apache配置文件中怎么配置php)

“apache和php配置”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看apache和php配置(apache配置文件中怎么配置php)!

2026年4月23日 04:00

shiro框架配置文件(shiro框架 配置文件log4j.properties shiro在哪)

shiro框架配置文件(shiro框架 配置文件log4j.properties shiro在哪)

上一篇文章我们介绍了shiro框架配置文件的基础,今天我们将深入其核心环节——shiro框架 配置文件log4j.properties shiro在哪,看看它如何承前启后。

2026年4月21日 21:00

修改nginx镜像配置(如何通过java代码来修改nginx中的配置)

修改nginx镜像配置(如何通过java代码来修改nginx中的配置)

在了解修改nginx镜像配置的过程中,您是否也曾对如何通过java代码来修改nginx中的配置感到困惑?别担心,接下来我将结合常见场景,带您一步步理清其中的关键点。

2026年4月16日 23:20

error memory configured incorrectly(求高人指点!电脑开机后提示error occurred,好像是内存问题,如何解决(新配置的电脑啊))

error memory configured incorrectly(求高人指点!电脑开机后提示error occurred,好像是内存问题,如何解决(新配置的电脑啊))

就像学骑车需要掌握平衡一样,理解error memory configured incorrectly的窍门,恰恰在于把握好求高人指点!电脑开机后提示error occurred,好像是内存问题,如何解决(新配置的电脑啊)这个“平衡点”。

2026年4月14日 07:20

php连接mongodb(ThinkPhp框架中使用mongodb数据库配置报错Call to a member function selectCollection() on a non-object)

php连接mongodb(ThinkPhp框架中使用mongodb数据库配置报错Call to a member function selectCollection() on a non-object)

今天给各位分享ThinkPhp框架中使用mongodb数据库配置报错Call to a member function selectCollection() on a non-object的知识,其中也会对ThinkPhp框架中使用mong

2026年4月13日 17:40

vuex模块化(为用户配置后台时)

vuex模块化(为用户配置后台时)

您是否曾想过,vuex模块化究竟是怎么一回事?它与为用户配置后台时之间又有什么联系?本文将为您一探究竟。

2026年4月6日 12:20

windows安装jdk(Windows系统下安装JDK,需要配置哪些系统变量)

windows安装jdk(Windows系统下安装JDK,需要配置哪些系统变量)

很多新手在接触windows安装jdk时,都会在Windows系统下安装JDK,需要配置哪些系统变量这个问题上徘徊良久。本文将亮起指路明灯,带你快速通关。

2026年4月5日 12:00

android开发环境配置(如何配置android开发环境)

android开发环境配置(如何配置android开发环境)

从一个常见的误区说起:很多人学android开发环境配置,却忽略了如何配置android开发环境。结果事倍功半。希望你不会再犯这个错误。

2026年3月30日 21:20

pcre是什么软件(如何在Linux系统中安装配置FastDFS软件)

pcre是什么软件(如何在Linux系统中安装配置FastDFS软件)

结合最近的趋势来看,pcre是什么软件的热度持续攀升,而如何在Linux系统中安装配置FastDFS软件作为其核心组成部分,讨论度更是居高不下。

2026年3月30日 16:00

springboot启动原理总结(springboot自动配置原理)

springboot启动原理总结(springboot自动配置原理)

你有没有想过,springboot启动原理总结的关键突破口,可能就藏在springboot自动配置原理之中?本篇内容将为你验证这个猜想。

2026年3月30日 05:00

更多文章:


strlwr函数的用法(C语言求一个关于字符串的函数)

strlwr函数的用法(C语言求一个关于字符串的函数)

你是否好奇,为什么人人都在谈strlwr函数的用法?它和C语言求一个关于字符串的函数之间究竟存在着怎样微妙的联系?答案就在下文。

2026年4月28日 21:00

powerful woman(关于Oprah Winfrey)

powerful woman(关于Oprah Winfrey)

powerful woman和关于Oprah Winfrey,看似独立,实则血脉相连。它们是如何相互影响的?本文将为你层层剖析。

2026年4月28日 20:40

settimeout(function)(求教js中这个语句setTimeout(function(){alert(’执行完过了3秒了’)},2000);)

settimeout(function)(求教js中这个语句setTimeout(function(){alert(’执行完过了3秒了’)},2000);)

本篇内容旨在成为您理解settimeout(function)的实用手册,其中求教js中这个语句setTimeout(function(){alert(’执行完过了3秒了’)},2000);将是我们要重点打磨的章节。

2026年4月28日 20:20

美国新冠疫情最新消息今天新增(美国新冠疫情确诊人数有增加吗)

美国新冠疫情最新消息今天新增(美国新冠疫情确诊人数有增加吗)

从我第一次听说美国新冠疫情最新消息今天新增到真正弄懂美国新冠疫情确诊人数有增加吗,也走过一些弯路。下面就把我的学习心得分享给大家,希望能让您的入门之路更顺畅。

2026年4月28日 20:00

asp财务上代表什么意思(ASP在财务中是什么东西的简写中文名称和英文全称是什么)

asp财务上代表什么意思(ASP在财务中是什么东西的简写中文名称和英文全称是什么)

本文旨在解决您关于asp财务上代表什么意思的两大困惑:一是理清基本概念,二是深入解析ASP在财务中是什么东西的简写中文名称和英文全称是什么。内容干练,直奔主题。

2026年4月28日 19:40

structure动词词性的用法(翻译:reboot system now.这句什么意思)

structure动词词性的用法(翻译:reboot system now.这句什么意思)

本篇关于structure动词词性的用法的讲解,将摒弃陈词滥调,直击翻译:reboot system now.这句什么意思这一实战要害,给你可即刻应用的策略。

2026年4月28日 19:20

特斯拉潮州事件最新进展(潮州事件是怎么回事)

特斯拉潮州事件最新进展(潮州事件是怎么回事)

承接之前对特斯拉潮州事件最新进展的讨论,本篇我们将视角下沉,专门来聊聊实操中无法回避的潮州事件是怎么回事问题,让知识落地。

2026年4月28日 19:00

微信文件传输助手会被监管吗?微信显示被网监是什么意思

微信文件传输助手会被监管吗?微信显示被网监是什么意思

你是否好奇,为什么人人都在谈微信监管?它和微信文件传输助手会被监管吗之间究竟存在着怎样微妙的联系?答案就在下文。

2026年4月28日 18:40

php建立站点(怎么才能在一个服务器上建立多个PHP站点)

php建立站点(怎么才能在一个服务器上建立多个PHP站点)

正如一位名家所言:“弄懂怎么才能在一个服务器上建立多个PHP站点,是通往php建立站点殿堂的捷径。” 今天,我们就来走一走这条捷径。

2026年4月28日 18:20

企业网站的网址通常包含(企业网站应该包括哪些信息)

企业网站的网址通常包含(企业网站应该包括哪些信息)

关于企业网站的网址通常包含,有一个概念至关重要,那就是企业网站应该包括哪些信息。它为何如此重要?且听我们慢慢道来。

2026年4月28日 18:00

最近更新

powerful woman(关于Oprah Winfrey)
2026-04-28 20:40:02 浏览:0
热门文章

mysql insert into字段顺序问题(mysql insert into的问题)
2026-04-13 16:00:02 浏览:1
sql server解压安装教程(安装**L Server2008时,出现“查找**L Server2008 安装媒体”怎么解决啊)
2026-03-27 01:20:02 浏览:1
split函数 sql(求sql split函数的用法)
2026-03-26 20:40:01 浏览:1
标签列表