【nginx】原理解析

生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

导读:本篇文章讲解 【nginx】原理解析,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

闲话

今天从下午三点学到了晚上将近十点,前一章节的高并发给我整的够呛,各种问题,但是自己跟自己约定了,今天一定要结束nginx的学习

基本要点

1、Nginx分为单工作进程和多工作进程两种模式
在单工作进程模式下,除主进程外,还有一个工作进程,工作进程是单线程的;在多工作进程模式下,每个工作进程包含多个线程。nginx默认使单工作进程模式

2、master和worker
1)master进程(管理进程):
接收来自外界的信号、向worker分配任务、监控worker的运行状态、当woker进程退出后(异常情况下),会自动重新启动新的woker进程

2)worker进程
主要是负责接受和处理请求,多个worker采用争抢的方式处理请求

master和worker协作方式如下
在这里插入图片描述

3、worker数的设置应该和服务器CPU数量一致

4、worker连接数worker_connection
一般为2或者4个,如果worker只访问静态资源时,就只有2个
如果worker既要访问静态资源又要访问动态资源(例如tomcat),那就有4个连接

5、假如一个nginx有一个master和四个worker,每个worker支持的最大连接数是1024,那么nginx支持的最大并发数是多少?
一般这种问题我们就需要分2种情况去考虑
1)普通的静态资源访问时:
最大并发数 = worker_connection*worker_process/2

2)如果nginx还作为反向代理,需要去访问动态资源时
最大并发数 = worker_connection*worker_process/4

6、采用多进程的好处
1)对于每个worker进程来说,独立的进程,不需要加锁,所以省掉了锁带来的开销,而且便于排查问题和编程
2)采用独立的进程,可以让互相之间不会影响,一个进程退出后,其它进程还在工作,服务不会中断,master进程则很快启动新的worker进程。

个人感觉自己分析的不够详细,后面还会回过头来更新

如有错误,欢迎指正

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/136792.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!