PHP与nginx之间运行机制及其原理的详细介绍
off999 2025-02-03 14:33 33 浏览 0 评论
本篇文章给大家带来的内容是关于PHP与nginx之间运行机制及其原理的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
一、普及Nginx与Php-fpm相关知识点
Nginx是什么
Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。
Php-fpm是什么
1、cgi、fast-cgi协议
cgi的历史
早期的webserver只处理html等静态文件,但是随着技术的发展,出现了像php等动态语言。
webserver处理不了了,怎么办呢?那就交给php解释器来处理吧!
交给php解释器处理很好,但是,php解释器如何与webserver进行通信呢?
为了解决不同的语言解释器(如php、python解释器)与webserver的通信,于是出现了cgi协议。只要你按照cgi协议去编写程序,就能实现语言解释器与webwerver的通信。如php-cgi程序。
fast-cgi的改进
有了cgi协议,解决了php解释器与webserver通信的问题,webserver终于可以处理动态语言了。
但是,webserver每收到一个请求,都会去fork一个cgi进程,请求结束再kill掉这个进程。这样有10000个请求,就需要fork、kill php-cgi进程10000次。
有没有发现很浪费资源?
于是,出现了cgi的改良版本,fast-cgi。fast-cgi每次处理完请求后,不会kill掉这个进程,而是保留这个进程,使这个进程可以一次处理多个请求。这样每次就不用重新fork一个进程了,大大提高了效率。
2、php-fpm是什么
php-fpm即php-Fastcgi Process Manager.
php-fpm是 FastCGI 的实现,并提供了进程管理的功能。
进程包含 master 进程和 worker 进程两种进程。
master 进程只有一个,负责监听端口,接收来自 Web Server 的请求,而 worker 进程则一般有多个(具体数量根据实际需要配置),每个进程内部都嵌入了一个 PHP 解释器,是 PHP 代码真正执行的地方。
二、Nginx如何与Php-fpm结合
我们知道Nginx不只有处理http请求的功能,还能做反向代理。
故Nginx通过反向代理功能将动态请求转向后端Php-fpm。
下面我们来配置一个全新的Nginx+Php-fpm
1、配置nginx.conf文件
进入nginx目录下,编辑 nginx.conf文件。
如图,在nginx.conf最后一行,添加include文件
2、添加对应的server
进入上面include的路径,添加一个server.
下面我们解释一下配置项的含义:
server { listen 80; #监听80端口,接收http请求
server_name www.example.com; #就是网站地址
root /usr/local/etc/nginx/www/huxintong_admin; # 准备存放代码工程的路径
#路由到网站根目录www.example.com时候的处理
location / { index index.php; #跳转到www.example.com/index.php
autoindex on;
}
#当请求网站下php文件的时候,反向代理到php-fpm
location ~ \.php$ { include /usr/local/etc/nginx/fastcgi.conf; #加载nginx的fastcgi模块
fastcgi_intercept_errors on; fastcgi_pass 127.0.0.1:9000; #nginx fastcgi进程监听的IP地址和端口
}
}
总而言之:当我们访问www.example.com的时候,处理流程是这样的:
www.example.|
||
|.example.com/index.|
|-|
|-cgi监听127.0.0.1:|
|.example.com/index.php请求到达127.0.0.1:9000
|
|
等待处理。。。
下面我们启用php的php-fpm来处理这个请求
打开php-fpm.conf文件,我们看到如下配置:
即:php-fpm模块监听127.0.0.1:9000端口,等待请求到来去处理。
三、总结
nginx与php-fpm的结合,完整的流程是这样的。
nginx与php-fpm的结合,完整的流程是这样的。
www.example.com
|
|
Nginx
|
|
路由到www.example.com/index.php
|
|
加载nginx的fast-cgi模块
|
|
fast-cgi监听127.0.0.1:9000地址 .
|
|
www.example.com/index.php请求到达127.0.0.1:9000
|
|
php-fpm 监听127.0.0.1:9000
|
|
php-fpm 接收到请求,启用worker进程处理请求
|
|
php-fpm 处理完请求,返回给nginx
|
|
nginx将结果通过http返回给浏览器
四、效果展示
1、启动nginx与php-fpm模块
启动成功,我们查看php-fpm进程
如上图,有一个master进程,3个worker进程。
2、在网站目录下建立文件
我们编辑文件如下图:
3、访问网站
本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注的PHP视频教程栏目!
以上就是PHP与nginx之间运行机制及其原理的详细介绍的详细内容,更多请关注其它相关文章!
更多技巧请《转发 + 关注》哦!
相关推荐
- 搜狗输入法ios版下载(搜狗输入法2020最新版下载苹果手机)
-
方法/步骤首先在手机上下载并安装搜狗输入法。然后打开手机设置,点击“通用”,点击“键盘”。最后选择“键盘”,点击“添加新键盘”,点击“搜狗输入法”即可。1、百度输入法是百度公司免费提供的输入软件。20...
- 单机版仙剑4能在手机玩吗(仙剑奇侠传4单机版手机可以玩吗)
-
1、首先打开pc端浏览器,搜索栏中输入仙剑奇侠传官网,按回车键。2、其次弹出相关词条后点击带有“官网”认证标志的仙剑奇侠传4官网词条,进入官网。3、最后点击右上角“下载游戏”,点击确认下载即可在手机上...
-
- 不正经的聊天软件推荐(什么叫不正经的聊天)
-
要是自己没意思,不想,就直接拉黑。要是自己有意思,那你就可以配合他,满足下礼貌性的回答,谢谢.!朋友,我们管不住别人的嘴,我们只管做好自己就可以了.你的确不正经。女人说你不正经说明对你有好感。要讨厌你也不会这样和你聊。知足吧老兄客观论...
-
2026-01-21 07:51 off999
- 消消乐免费游戏(消消乐免费游戏APP)
-
消消乐的操作方法01,玩开心消消乐首先要知道,最少都要三个相连的同种类动物才能消除掉,并且要知道关卡要求我们消除的动物和动物数量,要注意每个关卡都有步数限定。02,在玩开心消消乐有4个小动物相连时,可...
- win10专业版(win10专业版激活密钥)
-
win10专业工作站版好用。这是一个让人爱不得已的版本,使用过后,那“丝滑体验”和大幅度提升的硬盘评分刷新了从前对win10的看法。专业工作站版属于win10专业版的顶级系统,它拥有服务器级别的硬件支...
- 金山毒霸有必要安装吗(金山毒霸有没有必要安装)
-
如果您没有其它中意的杀毒软件,还是不建议您卸载。毕竟有杀毒软件的防护,在一定程度上还是可以抵御病毒的入侵。尽管开着杀毒软件会消耗不少系统资源,但是在错综复杂的互联网时代还有电脑资源共享的网络时代,杀毒...
- 三国志11(三国志11pk 2.2)
-
庙坐标(153,2)。下载一个vpn修改器。通过vpn可以查看庙和遗迹的具体位置。显示一个庙的为(153,2),记住该坐标后打开游戏载入游戏存档。为了方便找宝物,把刘邦势力换成了拓跋珪势力。为了满...
- 输入户型图出装修效果的app(输入户型图出装修效果的app有哪些)
-
个人推荐酷家乐APP酷家乐App是当前使用最多的一个户型图绘制软件,在功能上酷家乐的功能还是比较全面的,对于电脑不好的用户来说酷家乐也是一个比较不错的,渲染上仅仅需要20秒左右,这对于不喜欢等待的用户...
- 剪切mp3音乐的免费软件(免费mp3剪切器手机版下载)
-
苹果手机用可以用易剪软件剪辑音乐,具体操作步骤如下:1、首先我们打开苹果手机打开易剪软件,选择剪辑。2、点击工具栏“+”导入音频。3、选择一个想要剪辑音频的来源。4、插入完成后,音频波形就出来了。...
- 360手机管家官方免费下载(360智能手机管家)
-
可以选择强行停止就好了。这个360手机管家如果是你从商品商店下载安装的,那么这个是可以删除的,你点住他选择卸载就行了,如果你是360的手机自带的,手机管家你是无法删除的,你只能够把它选择强行停止了,这...
- 最好看最新高清中文字幕电影
-
在网上搜"影片名"+中文字幕然后,下载《美国往事》《银翼杀手》《我是传奇》(两个结局)《纽约黑帮》《紫色》《杀手莱昂》《心灵捕手》《杀手47》……想要免费观看高清电影的话!我强力为您推荐“影视大全...
-
- 免费主题软件大全(免费主题软件app)
-
步骤如下:1.我们首先打开vivo手机,在vivo手机自带的APP找到I主题,然后打开I主题,会在打开的时候看到精选里面包含了:主题,字体,铃声,息屏和动态壁纸。2.我们在我们在此页面的右上角找到一个放大镜的标识,点击,然后在弹出的页面输...
-
2026-01-21 05:43 off999
- cad转换器免费版(cad转换器软件下载)
-
CAD版本转换器是一种非常有用的工具,可以帮助用户将不同版本的CAD文件进行转换,以便在不同的CAD软件中使用。在选择CAD版本转换器时,用户需要考虑以下几个方面:转换的速度、转换的准确性、支持的CA...
- windows7旗舰版多少钱(win7旗舰版要多少钱)
-
windows7的旗舰版版本是6.1.7600。处理器:1GHz32位或者64位处理器;内存:1GB及以上(最低安装要求512M,且必须是64位操作系统);显卡:支持DirectX9128M及以上...
- 游戏交易平台官网(千岛游戏交易平台官网)
-
8868交易平台,是专门为手机游戏提供相关交易服务的电子商务平台,用户可以在这里方便地买到热门手机游戏的金币、道具、装备等虚拟物品。8868提供免费网络游戏帐号交易、游戏币交易、首充号购买、手机游戏代...
欢迎 你 发表评论:
- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
