PHP-FPM工作模式及其环境搭建

1.什么什么叫做PHP-FPM呢?

FPM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的。 它的功能包括:
支持平滑停止/启动的高级进程管理功能 可以工作于不同的 uid/gid/chroot 环境下,并监听不同的端口和使用不同的 php.ini
配置文件(可取代 safe_mode 的设置); stdout 和 stderr 日志记录; 在发生意外情况的时候能够重新启动并缓存被破坏的
opcode; 文件上传优化支持; “慢日志” - 记录脚本(不仅记录文件名,还记录 PHP backtrace 信息,可以使用
ptrace或者类似工具读取和分析远程进程的运行数据)运行所导致的异常缓慢; fastcgi_finish_request() -
特殊功能:用于在请求完成和刷新数据后,继续在后台执行耗时的工作(录入视频转换、统计处理等); 动态/静态子进程产生; 基本 SAPI
运行状态信息(类似Apache的 mod_status); 基于 php.ini 的配置文件。

我们传统的PHP开发都是以FPM多进程工作模式进行运行。
工作流程:
通常一个请求会转发到Nginx,把Nginx会把这个请求转发到FMP监听的9000端口,FMP的Master进程接收到请求会把接收到的请求交给Master进程下面的woker进程进行处理,进程处理完把处理结果返回给Nginx,Nginx把处理结果返回给客户端。FPM的一个worker进程只能处理一个请求,这也是FMP性能不好的原因。

Nginx配置

server {
      listen       80;
        server_name  zq.com;
        root /home/zq2020/php;
        index index.php index.html;
        location / {
          try_files $uri $uri/ /index.php?$query_string;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

查看9000端口,PHP-FPM是否正常工作

netstat -tln | grep 9000

在这里插入图片描述
查找php-fpm所在路径
在这里插入图片描述

启动php-fpm
./usr/local/php/sbin/php-fpm
在这里插入图片描述
启动失败,解决方案

/usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf

在这里插入图片描述
解决办法:
cd /usr/local/php/etc/php-fpm.d
sudo cp www.conf.default www.conf

启动php-fpm
在这里插入图片描述
php-fpm在正常工作
在这里插入图片描述
文件找不到
在这里插入图片描述

nginx配置做出调整

user nobody;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on; 
	server {
         listen       80;
         server_name  zq.com;
         root /home/zq2020/php;
		 index index.php index.html index.htm;
		  location / {
          try_files $uri $uri/index.php?$query_string;
        }
		location ~ \.php(.*)$ {
              fastcgi_pass   127.0.0.1:9000;
              fastcgi_index  index.php;
              fastcgi_param  SCRIPT_FILENAME  /home/zq2020/php$fastcgi_script_name;
              include fastcgi_params;
        }
  
   }
    
}

问题解决,访问成功
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值