一文看懂执行请求原理
概述
有玩过nginx的朋友肯定常听说的cgi,phpcgi,fastcgi,phpfpm,那他们之间到底是什么关系,下面帮助大家了解下nginxphp执行请求的工作原理。
cgi协议
CGI不是一门编程语言。它是网页的表单和你写的程序之间通信的一种协议。可以用任何语言写一个CGI脚本,这些语言只要能接收输入输出信息,读取环境变量。所以,几乎所有的编程语言都能写一个CGI脚本,例如:python(把我大python放在第一个!),C,甚至是shell脚本。
CGI是一种通信协议,它把用户传递过来的数据转变成一个kv的字典。这个字典中不光有用户的数据,还有HTTP协议的参数。它做的就是把数据,组织成一个固定结构形式的数据。方便任何符合CGI协议的程序都可以调用!但是CGI不是负责通信(传输数据)的,通信的话是通过socket,也就是server,例如上面例子中,是通过Apache进行通信。之后调用CGI脚本,把数据转变成符合CGI协议的数据结构,用于后面的数据处理!
总之,cgi协议用来确定webserver(例如nginx),也就是内容分发服务器传递过来什么数据,什么样格式的数据。
phpcgi进程解释器
phpcgi是php的cgi协议进程解释器,每次启动时,需要经历加载php。ini文件amp;gt;初始化执行环境amp;gt;处理请求amp;gt;返回内容给webserveramp;gt;phpcgi进程退出的流程。
fastcgi协议
fastcgi协议是对cgi协议效率提升的补充,主要是针对每次请求过来时都需要启动一个cgi解释器进程的优化,不再需要cgi解释器进程每次收到webserver请求后都需要重新加载php。ini文件和初始化执行环境。
phpfpm进程管理器
phpfpm是对fastcgi协议的实现,是进程管理器,启动时包括master和worker进程俩部分,master进程监听端口,接收来自webserver请求,worker进程一般具有多个,每个worker进程都有一个cgi进程解释器,用来执行php代码。
phpfpm有两种执行方式,与Apache一样,它的进程数也是可以根据设置分为动态和静态的,一种是直接开启指定数量的phpfpm进程,不再增加或者减少;另一种则是开始的时候开启一定数量的phpfpm进程,当请求量变大的时候,动态的增加phpfpm进程数到上限,当空闲的时候自动释放空闲的进程数到一个下限。
这两种不同的执行方式,可以根据服务器的实际需求来进行调整。
php启动和工作原理
启动phpfpm时,会启动master进程,加载php。ini文件,初始化执行环境,并启动多个worker进程。每次请求来时会将请求传递给worker进程进行处理
php平滑重启原理
每次修改完php。ini配置并重启后,会启动新的worker进程加载新的配置,而之前已经存在的进程会在工作完成之后销毁,因此实现平滑重启
nginx工作原理
如果想弄明白nginx和php配合的原理,还需要先了解nginx的配置文件中的server部分。
server{listen80;监听80端口,接收http请求servername;一般存放网址,表示配置的哪个项目roothomewwwrootzensmallpublic;存放代码的根目录地址或代码启动入口indexindex。phpindex。html;网站默认首页当请求网站的url进行location的前缀匹配且最长匹配字符串是该配置项时,按顺序检查文件是否存在,并返回第一个找到的文件location{tryfiles,按顺序检查文件是否存在,返回第一个找到的文件uri代表不带请求参数的当前地址querystring代表请求携带的参数tryfilesuriuriindex。php?querystring;按顺序检查uri文件,uri地址是否存在,如果存在,返回第一个找到的文件;如果都不存在,发起访问index。php?querystring的内部请求,该请求会重新匹配到下面的location请求}当请求网站的php文件的时候,反向代理到phpfpm去处理location。php{includefastcgiparams;引入fastcgi的配置文件fastcgipass127。0。0。1:9000;设置phpfastcgi进程监听的IP地址和端口fastcgiindexindex。php;设置首页文件fastcgiparamSCRIPTFILENAMEdocumentrootfastcgiscriptname;设置脚本文件请求的路径}}
上面server配置的整体含义是:每次nginx监听到80端口的url请求,会对url进行location匹配。如果匹配到规则时,会进行内部请求重定向,发起index。php?querystring的内部请求,而对应的location配置规则会将请求发送给监听9000端口的phpfpm的master进程。
总结
下面总结下最简单的用户请求流程:
大致如下:用户访问域名amp;gt;域名进行DNS解析amp;gt;请求到对应IP服务器和端口amp;gt;nginx监听到对应端口的请求amp;gt;nginx对url进行location匹配amp;gt;执行匹配location下的规则amp;gt;nginx转发请求给phpamp;gt;phpfpm的master进程监听到nginx请求amp;gt;master进程将请求分配给其中一个闲置的worker进程amp;gt;worker进程执行请求amp;gt;worker进程返回执行结果给nginxamp;gt;nginx返回结果给用户。
后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下
热文拆迁补偿现场村民用麻袋装现金近日拆迁补偿现场村民用麻袋装现金登录上了百度热搜,受到广大网友们的关注,那么关于目前的拆迁补偿现场村民用麻袋装现金相信小伙伴们都是想要了解到最新的信息吧,小编也是在网上进行了一……
热文拆迁补偿安置现场用麻袋装现金近日拆迁补偿安置现场用麻袋装现金登录上了百度热搜,受到广大网友们的关注,那么关于目前的拆迁补偿安置现场用麻袋装现金相信小伙伴们都是想要了解到最新的信息吧,小编也是在网上进行了一……
西峡县文化广电和旅游局电话号码导游需要具备什么条件?导游证要这两天关于西峡县文化广电和旅游局电话号码:导游需要具备什么条件?导游证要怎么考?在网上的热度是非常高的,很多网友们也都是非常关注西峡县文化广电和旅游局电话号码:导游需要具备什么……
热文海姆立克急救法家长必备急救技能近日海姆立克急救法家长必备急救技能登录上了百度热搜,受到广大网友们的关注,那么关于目前的海姆立克急救法家长必备急救技能相信小伙伴们都是想要了解到最新的信息吧,小编也是在网上进行……
热文会计证报考条件会计证如何自考近日会计证报考条件会计证如何自考登录上了百度热搜,受到广大网友们的关注,那么关于目前的会计证报考条件会计证如何自考相信小伙伴们都是想要了解到最新的信息吧,小编也是在网上进行了一……
热文春节的时候适合去哪里旅游近日春节的时候适合去哪里旅游登录上了百度热搜,受到广大网友们的关注,那么关于目前的春节的时候适合去哪里旅游相信小伙伴们都是想要了解到最新的信息吧,小编也是在网上进行了一些整理,……
固体酒精危害由于劣质固体酒精引发的问题很多,屡次被保障火灾还有中毒事件,对于生产固体酒精相关部门加大了监管力度。但是还是有很多的劣质酒精在市场中售卖,那么劣质固体酒精危害有哪些呢?下面就一……
求南阳旅游景点排名前十,哪些比较值得去?这两天关于求南阳旅游景点排名前十,哪些比较值得去?在网上的热度是非常高的,很多网友们也都是非常关注求南阳旅游景点排名前十,哪些比较值得去?这个事情,为此小编也是在网上进行了一番……
南阳一日游去哪里比较好玩?这两天关于南阳一日游去哪里比较好玩?在网上的热度是非常高的,很多网友们也都是非常关注南阳一日游去哪里比较好玩?这个事情,为此小编也是在网上进行了一番搜索查阅相关的信息,那么如果……
dnf弹药用什么武器(dnf6版本弹药武器选择)《DNF》黑鸦之境副本更新后,装备遴选系统正式上线。男弹药是一个爆发与续航都非常优秀的职业,于是对于男弹药武器遴选属性的选择就成为困扰许多人的问题。下面小编就为大家带来《DNF……
热文刘强任成都大学党委书记近日刘强任成都大学党委书记登录上了百度热搜,受到广大网友们的关注,那么关于目前的刘强任成都大学党委书记相信小伙伴们都是想要了解到最新的信息吧,小编也是在网上进行了一些整理,收集……
热文警方回应成都大学党委书记疑失联近日警方回应成都大学党委书记疑失联登录上了百度热搜,受到广大网友们的关注,那么关于目前的警方回应成都大学党委书记疑失联相信小伙伴们都是想要了解到最新的信息吧,小编也是在网上进行……
绝缘安全帽电压注意事项有哪些在很多危险性比较高的场所,佩戴电绝缘安全帽是非常必要的。电绝缘安全帽是防止冲击物伤害头部的防护用品,由帽壳、帽衬、下颊带和后箍组成。电绝缘安全帽具有冲击吸能性能、耐穿刺性能、侧……
老人湿气重怎么办推荐四款祛湿养生汤春季气候变化大,雨水频繁,不少老年人容易出现浑身无力,食欲差不想吃东西,并且排大便秘不畅的情况,其实这是湿气重的表现。老人湿气重不容忽视,需要积极调理。那么,老人湿气重应该如何……
古代在被诛九族的时候其他家人为什么不逃跑说到古代一些比较残酷的刑罚,小编觉得诛灭九族就要算一个,一个人犯错误,其他人全部要被杀死,而且是牵连到九族,所以这个真的是好可怕啊,但是有的时候网友也会发现了,那就是既然都被株……
儿童健身球怎么用健身球是利用球的弹性、滚动性结合起来的一种新兴的健身运动,可以很好地辅助身体做伸展运动,增加身体的平衡性和柔韧性,使用健身球该注意什么呢?初学者、体重较大及平衡能力不特别好的人……
全套造句用全套造句大全一百五十一、由于使用安全套须征得男性同意,从前,女性要想有偶尔而非经常性的交,就会对除安全套外的其他避孕产品有切实需求。一百五十二、在过去,不使用安全套的性行为最多会导致……
月亮落入黄道十二宫第十二宫在星盘中月亮的位置和太阳一样重要,但是他们影响的方面却是不同的。月亮象征着一个人的内心情感世界,并能直接反映出盘主的内心想法。月亮对一个人的影响总是潜移默化不可捉摸的,因为它关……
香蕉拟盘多毛孢叶斑病如何防治香蕉拟盘多毛孢叶斑病有哪些危害?香蕉拟盘多毛孢叶斑病有什么症状,一般什么时候发生?香蕉拟盘多毛孢叶斑病用什么药可以防治?以下中国三农网就作简单介绍,供网友们参考。一、香蕉……
中国千年未解之谜三位历史名人突然消失考古专家至今中国拥有着五千百年的历史,可是在历史当中隐藏着无数谜团,哪怕是考古学家也不敢说自己全部了解。在中国历史众多谜团当中,有则谜团历经千年而无法被人破解。曾经我国历史当中,有三位人物……
喝水中不为人知的小秘密每天喝水怎么喝才最美容地球70的表面和人体70的成分,都由水组成。这个惊人的重合充分说明了,水对人类有多重要。但在日常生活中,你可能为吃一顿饭绞尽脑汁,却不会为喝一杯水煞费心思。大多数人觉得,喝水是……
家居装修必看的厨房风水了解禁忌远离噩运一、灶台不可无靠背灶台如若无靠,会直接影响居住者健康、婚姻及事业,所以灶台一定要有靠背,这表示有所依靠,而且一定要靠实墙,玻璃墙则不行。二、火炉不可正对水正所……
鉴定开元通宝方法1,罐装品,是指那些放入密闭的容器中埋藏的开元通宝,其特点是字廓深峻,锈较薄且均匀,一般锈未侵蚀钱体,文字基本保持了原铸风貌,是最受推崇的一种锈色。2,出土的发掘品开元通……
梦在月光中初秋,深夜,月光朦胧,星儿微醉。窗外,刚刚打理过的草坪,弥漫着整齐而幽幽的香气,虽然少了春的淡淡的甜味,却增添了深邃而成熟的悠远。如水微微凉凉的夜风,轻轻地拂过滑滑……