首先,要全面了解php知识,必须了解php是如何运行的,它的工作原理是怎么样的,接下来,主要讲解一下php-fpm的工作流程和配置的一些参数说明。
fpm的工作流程
fpm全名是FastCGI进程管理器
fpm启动后,首先要读取的是php.ini,然后才会去读取配置文件conf,所以conf的配置会覆盖php.ini的配置。启动fpm之后,会创建一个master进程,监听9000(默认9000),master进程又会根据 fpm.conf/www.conf 去创建若干个子进程,这些子进程用于处理实际业务。
当有客户端去连接9000端口时(比如nginx、apache),空闲子进程就会自己去accept,如果子进程全部处于忙碌状态,新进的待accept的连接会被master放进队列里,等待fpm进程空闲;这个存放待accept的半连接有多长,由listen.backlog配置。
fpm配置说明
配置里面的所有相对路径,都是相对于php的安装路径。
进程池
除了有php-fpm.conf配置文件外,通常还有其他的*.conf配置文件用于配置线程池,不同的进程池可以用不同的用户执行,监听不同的端口,处理不同的任务;多个进程池共用一个全局配置。
include = /php71/php-fpm.d/*.conf 载入其他的配置文件。