Nginx原理

news2024/11/18 12:27:35
一、master和worker
二、worker

当客户端发送请求,先到达master,master通知所有的worker,然后所有的worker开始竞争任务。

三、一个master和多个worker有什么好处

    (1)可以使用nginx -s reload热部署,利用nginx进行热部署

    (2)每个worker是个独立的进程,如果其中一个worker出现问题,其他worker是独立的,继续进行争抢,实现请求过程不会出现服务中断。

           对于每个worker进程来说,独立的进程不需要加锁,所以省掉了锁带来的开销,同时在编程以及查找问题时,也会方便很多;其次,采用独立的进程,可以让互相之间不会影响,一个进程退出后,其他进程还在工作,服务不会中断,master进程很快启动新的worker进程,当然worder进程的异常退出,肯定是程序有bug了,异常退出,会导致当前worker上的所有请求失败,不过不会影响到所有请求,所以降低了风险。

四、设置合适的worker

 worker和cpu的服务器数相等是最为适宜的。

五、连接数worker_connection

     问:发送一个请求,占用了worker的几个连接数?

     答:一个请求占用两个(静态)或四个(静态页面和数据库)worker_connection

     问:nginx有一个master,有四个worker,每个worker支持的最大连接数是1024,支持的最大并发数是多少?

     答:4*1024/2或4*1024/4即:普通静态最大并发数是worker_connections*worker_processes/2;而HTTP作为反向代理来说,最大并发数应该是worker_connections*worker_processes/4.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/172802.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8、MariaDB11数据库安装初始化密码Navicat连接

MariaDB11安装 安装前准备 下载安装包 点我去MariaDB官网下载安装包 查看相关文档 Mariadb Server官方文档 使用zip安装 解压缩zip 将下载到的zip解压缩到想安装的位置。 生成data目录 打开cmd并进入到刚才解压后的bin目录, 执行mysql_install_db.exe程序生…

Python异步编程Future对象详解

今天继续给大家介绍Python相关知识,本文主要内容是Python异步编程Future对象详解。 一、Python Future对象简介 在上文Python Task对象详解中,我们介绍到了Task对象,而Future对象是Task对象的基类,比Task更加底层。一个Future是…

英方软件在科创板上市:总市值89亿元,胡军擎、江俊夫妇为实控人

1月19日,上海英方软件股份有限公司(下称“英方软件”,SH:688435)在上海证券交易所科创板上市。本次上市,英方软件的发行价为38.66元/股,发行2094.6737万股,募资总额约为8.10亿元,募资…

linux的工具(yum,vim)

前言 linux工具的意义Linux已经成为工作、娱乐和个人生活等多个领域的支柱,人们已经越来越离不开它。在 Linux 的帮助下,技术的变革速度超出了人们的想象,Linux 开发的速度也以指数规模增长。因此,越来越多的开发者也不断地加入开…

pycharm远程链接服务器配置

拿到gpu的节点以后开始下面的配置 1. 下载专业版pycharm,一定是专业版,community版本没有远程连接ssh的功能。 2. python编译器->添加ssh编译器->新创建服务器配置 3. 输入host名,用户名。 host名字如:vpcc-gpu032&#xf…

【自学Docker】Docker wait命令

Docker wait命令 大纲 docker wait教程 docker wait 命令可以用于阻塞一个或多个 Docker容器 直到容器停止,然后打印退出代码。 docker wait命令后面的 CONTAINER 可以是容器Id,或者是容器名。 docker wait语法 haicoder(www.haicoder.net)# docker…

基于蒙特卡洛随机潮流研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

代码审计-8 ThinkPHP框架代码审计 2

文章目录熟悉网站结构确定网站的路由1.通过分析url直接得出路由2.查看app/route.php了解参数过滤情况SQL注入举例任意文件下载与删除任意文件下载代码分析任意文件删除代码分析熟悉网站结构 首先对系统的功能点进行大致的了解,对系统的目录情况进行大致了解&#x…

9. 列表list类型详解

python3 list类型的使用 1. 基本知识 List(列表) 是 Python 中使用最频繁的数据类型。 列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套&#xff…

全球化商家平台技术探索与演进

作者:马金金 阿里全球化业务平台团队 全球化业务高速发展给平台技术带来了极大的挑战。如何差异化支撑全局业务的高效迭代?如何轻量化支撑创新业务的快速建站?本文将聚焦全球化商家平台技术架构演进,为大家分享背后的技术思考。 一…

Understanding LSTM Networks

文章目录Recurrent Neural NetworksThe Problem of Long-Term DependenciesLSTM NetworksThe Core Idea Behind LSTMs.Step-by-Step LSTM Walk Through本篇文章记述了自己对“Understanding LSTM Networks”的理解 Recurrent Neural Networks Humans don’t start their thin…

springmvc统一日志打印request和response内容

在web项目中,有不少场景需要统一处理一些和实际业务基本不相关的逻辑,比如rest接口的监控、出入参日志、操作记录、统一异常处理(避免将错误堆栈等信息直接打到web端)。如果你觉得日志打印rest接口出入参非常简单,直接getParameter()就好了&a…

Redis6学习笔记【part4】Jedis-API与手机验证码功能实现

1.连接 Jedis 第一步&#xff0c;修改 redis 的配置&#xff0c;以允许外网 ip 访问 redis。 在 redis.conf 中注释掉 bind 127.0.0.1 &#xff0c;并修改 protected-mode no 。 第二步&#xff0c;导入依赖。 <dependency><groupId>redis.clients</groupId…

Unity 进阶 之 资源文件夹下资源名的重名检查,并简单生产资源表的方法整理

Unity 进阶 之 资源文件夹下资源名的重名检查,并简单生产资源表的方法整理 目录 Unity 进阶 之 资源文件夹下资源名的重名检查,并简单生产资源表的方法整理 一、简单介绍 二、简单实现过程 三、关键代码 一、简单介绍 Unity中的一些知识点整理。 本节简单介绍在Unity开发…

python使用sentinelsat库下载sentinel影像数据

GIS遥感不分家&#xff0c;最近开始找一些影像的下载脚本了&#xff0c;这两天搞定了哨兵和modis的&#xff0c;分别贴一下 鉴于《Python中使用sentinelsat包自动下载Sentinel系列数据》这篇文章已经写得非常全乎&#xff0c;这里就简单补充一下&#xff0c;放个最简单的下载脚…

Vue CLI(Vue.js 开发的标准工具)

Vue CLI&#xff08;Vue.js 开发的标准工具&#xff09;参考描述Vue CLI获取检测项目创建项目Please pick a presetCheck the features needed for your projectChoose a version of Vue.jsPrefer placing configSave this as a preset for future projects?Save preset asFin…

[MRCTF2020]Ezaudit(随机数的安全)

目录 信息收集 代码审计 相关函数 前提知识 思路分析 补充知识 信息收集 查看源代码没有发现有用信息&#xff0c;尝试dirmap扫下目录 python3 dirmap.py -i 网址 -lcf 扫描时发现一个www.zip目录 下载到一份index.php文件&#xff0c;找到一个login.html <?php h…

docker安装pg数据库及pg数据库基本操作

一、首先准备pg数据库的docker镜像二、先创建一个文件作为pg数据库数据文件、配置文件等的外部挂载文件三、创建镜像docker run -it -d --name postgres14 --restartalways --privilegedtrue -p 5432:5432 -e POSTGRES_PASSWORDpostgres -v /home/fengyang/pg_data:/var/lib/po…

SpringBoot+VUE前后端分离项目学习笔记 - 【25 SpringBoot实现1对1、1对多、多对多关联查询】

新增课程Course页面&#xff0c;实现学生选课功能、课程教授老师选择等功能 1. 课程与授课老师是一对一关系 因为course表仅记录了teacherid&#xff0c;而页面需要的是老师的名字 select course.*,sys_user.id from course left join sys_user **on ** course.teacher_id sys…

第六章SpringFramework之声明事务

文章目录JdbcTemplate准备工作导入依赖创建jdbc.properties配置Spring的配置文件配置测试类的环境实例声明式事务概念先看看对应的编程式事务声明式事务通过一个案例了解声明式事务前提准备三层架构的构建模拟场景的情况添加事务Spring声明式事务的属性事务注解标识的位置事务属…