浏览器打开index.php发生了发什么?

编程知识 行业动态 更新时间:2024-06-13 00:22:43

记得毕业那年,面试官问我,用户打开浏览器发生了什么,当时回答的糊里糊涂,然后糊里糊涂地被录用了。

今天,我和大家分享这道面试题的。

无图无真相,上图:

下面是php以cgi运行图:

php以fast-cgi运行:

从php-cgi和php-fpm对比可以看到,fastcgicgi和cgi模型相比,省去了部分的过程,从而速度更快,更节省内存。

早些的时候,web服务器将收到的请求交给php接口,这个借口叫做php-cgi。

cgi 是一种标准,perl、php、python等多种语言都使用cgi标准,这个标准的工作方式使得这些语言可以被其他的软件调用,但是cgi方式慢,因此有了fastcgi标准的调用接口,比如php的php-fpm实现。

php的cgi可执行文件是php/bin/php-cgi,php-fpm实现是php/sbin/php-fpm文件。

但是,不论是php-cgi还是php-fpm,最终都是要将php代码交给php解析器的,只是php-fpm使用fastcgi标准,php-cgi使用cgi标准,更为先进一些而已。

1、查看PHP -fpm

root      3011  0.0  0.4 196692  4720 ?        Ss   Jul11   0:00 php-fpm: master process (/phpstudy/server/php/etc/php-fpm.conf)

www       3013  0.0  0.7 199284  7720 ?        S    Jul11   0:00 php-fpm: pool www

www       3014  0.0  0.7 199284  7744 ?        S    Jul11   0:00 php-fpm: pool www

从上面我们可以清晰地看到一个php-fpm 主进程,多个php-fpm子进程。

2、查看Nginx

root      3015  0.0  0.1  47536  1196 ?        Ss   Jul11   0:00 nginx: master process /phpstudy/server/nginx/sbin/nginx
www       3017  0.0  0.1  50044  1968 ?        S    Jul11   0:00 nginx: worker process
www       3018  0.0  0.1  50044  1968 ?        S    Jul11   0:00 nginx: worker process
www       3019  0.0  0.1  50044  1968 ?        S    Jul11   0:00 nginx: worker process
www       3020  0.0  0.1  50044  1968 ?        S    Jul11   0:00 nginx: worker process

nginx的做法也是这样,一个master进程,多个work进程。

参考文献:
搞不清FastCgi与PHP-fpm之间是个什么样的关系
Nginx中FastCGI配置优化

更多推荐

浏览器打开index.php发生了发什么?

本文发布于:2023-04-03 03:01:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/28f85d1783f74638502eb26e033c3728.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:发生了   浏览器   index   php

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!