首页 > 编程知识 正文

nginx原理和架构,nginx配置文件详解

时间:2023-05-04 08:04:23 阅读:16115 作者:2039

【Nginx那些事】系列

【Nginx那些事情】Nginx的安装和一般命令

【Nginx那些事情】Nginx配置文件的说明

【Nginx那些事】Nginx的原理分析

【Nginx那些事情】Nginx配置示例(一)反向代理

【Nginx那些事情】Nginx配置示例(2)负载平衡

【Nginx那些事】Nginx配置实例(三)动静分离

【Nginx那些事情】Nginx配置示例(四)构建高可用性集群

【Nginx那些事】Nginx的原理分析思考Nginx的大师和沃克的关系

nginx大师与沃克的关系

大师只有一个人,是领队,负责管理、监视。 工作器有很多。 兼职,处理领导分发的任务。

但是,master会通知工作人员一声,而不是分配任务。 worker会争夺资源(客户端),而已经夺走的不会争夺以下资源: 争用后,工作器开始读取请求-分析请求-处理请求,在数据完全返回客户端后,即使此工作器争用事件结束,也可以争夺以下资源:

1、考虑一个大师和多个woker的好处

对于每个工作器进程来说,独立的进程不需要进行锁定,从而减少了锁定的开销,并且在编程和问题检索时也很有用。 其次,采用独立的流程可以避免相互影响。 一个进程结束后,其他进程仍在运行,服务不会中断。 主进程将立即开始新的工作器进程。 当然,工作器进程的异常终止一定是程序中有错误。 异常终止会导致当前工作器上的所有请求失败,但不会影响所有请求,从而降低了风险。

2、设置多少个工作器比较合适

Nginx与redis一样采用io复用机制,每个工作器都是独立的进程,但每个进程只有一个主线程,以异步无阻塞方式处理请求,即使是成千上万个请求也不在话下。 每个工作器线程都可以最大限度地提高单个cpu的性能。 因此,工作器数和服务器的cpu数相等是最佳的(一般设定为工作器数和cpu数一致)。 设置得少会浪费cpu,设置得多会因cpu频繁切换上下文而造成损失。

3、连接数worker_ connection计算

此值表示每个工作器进程可以建立的最大连接数。 因此,nginx可以建立的最大连接数必须为worker _ connections * worker _ processes。 当然,这里将介绍最大连接数。 如果HTTP请求本地资源,则worker _ connections * worker _ processes可以支持的最大并发连接数为两个连接(如果是支持http1.1的浏览器)。 因此,正常静态访问的最大并发行数为: worker _ connections * worker _ processes/2,如果将HTTP用作反向代理,则最大并发行数为worker _ connections

worker_connections :连接数

工作器_ processes :工作器数量

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。