php-fpm 即 php-Fastcgi Process Manager。
php-fpm 是 FastCGI 的实现,并提供了进程管理的功能。
进程包含 master 进程和 worker 进程两种进程。
master 进程只有一个,负责监听端口,接收来自 Web Server 的请求,而 worker 进程则一般有多个(具体数量根据实际需要配置),每个进程内部都嵌入了一个 PHP 解释器,是 PHP 代码真正执行的地方。
配置 nginx 和 php-fpm 交互
-
配置 nginx 文件
location ~* \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
当请求的 url 能匹配以.php 结尾时,将反向代理给 php-fpm 处理动态信息。
root 是配置 php 程序放置的根目录。
fastcgi_pass 指令表示将该 url 请求代理至 nginx fastcgi 进程监听的 IP 地址和端口。
fastcgiparam 表示读取的是 $document_root(网站根目录)下的.php 文件;如果没有配置这一配置项,nginx 不会访问根目录的 php。
fastcgi_params 文件中含有各个 nginx 常量的定义,默认情况 SCRIPT_FILENAME=$fastcgi_script_name
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于