PHP web服务器 线程,进程之间的关系

关于 php、apache、nginx 分别与进程,线程之间的关系,我提出一个疑问?

既然,PHP 是单进程的,而 Nginx 是多进程的,意思就是,Nginx 能够同时接受多个请求,来处理并发问题。但是每一个请求过来,不是还要去排队等待 php-fpm 来运行 PHP 文件从而进行处理吗?虽然 web 服务器能够同时接受多个请求并进行处理(调用php-fpm),但是由于 php-fpm
是单线程,还是要一个一个处理。没有感觉到 nginx 多进程和 apache 有什么区别。

这是我的理解,请批评指正!

慕的地10843
浏览 441回答 2
2回答

Helenr

以 Nginx + php-fpm 来说,php-fpm 是单线程的,但是可以开多个 php-fpm 进程,以进程池的形式维护,当 Nginx 转发请求到 php-fpm,从进程池都选择一个 php-fpm 处理。

冉冉说

nginx是一主加多从,phpfpm也是一主加多从。
打开App,查看更多内容
随时随地看视频慕课网APP