PHP-FPM ( FastCGI流程管理器 )是另一种PHP FastCGI实现,它带有许多对任何规模的网站都有用的额外功能,特别是那些接收高流量的网站。
它常用于LEMP ( Linux Nginx MySQL / MariaDB PHP ); Nginx使用PHP FastCGI在网络上提供动态HTTP内容。 它被用于为互联网上的Web服务器上的数百个网站提供数百万个PHP请求。
另请参阅 : 如何启用NGINX状态页面
php-fpm的一个有用功能是内置状态页面,可以帮助您监控其运行状况。 在本文中,我们将展示如何在Linux上启用PHP-FPM状态页面。
如何在Linux中启用PHP-FPM状态页面
首先打开php-fpm配置文件并启用状态页面,如图所示。
$ sudo vim /etc/php-fpm.d/www.conf OR $ sudo vim /etc/php/7.2/fpm/pool.d/www.conf #for PHP versions 5.6, 7.0, 7.1
在此文件中,查找并取消注释变量pm.status_path = /status
,如屏幕截图所示。
启用PHP-FPM状态页面
保存更改并退出文件。
接下来,通过运行以下命令检查PHP-FPM配置文件是否存在任何错误。
$ sudo php-fpm -t OR $ sudo php7.2-fpm -t
检查PHP-FPM配置文件
然后重新启动PHP-FPM服务以应用最近的更改。
$ sudo systemctl restart php-fpm OR $ sudo systemctl restart php7.2-fpm
接下来,编辑默认服务器块 ( 虚拟主机 )配置文件,并在其中添加下面的位置块 。 例如,在测试系统上,默认服务器块的配置文件是/etc/nginx/conf.d/default.conf ,用于站点test.lab 。
$ sudo vim /etc/nginx/conf.d/default.conf
这是要添加的位置块 。 在此配置中,出于安全原因,我们仅允许使用指令allow 127.0.0.1访问localhost中的PHP-FPM进程状态。
location ~ ^/(status|ping)$ { allow 127.0.0.1; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php7.2-fpm.sock; }
保存文件并关闭它。
然后重新启动Nginx服务器以应用上述更改。
$ sudo systemctl restart nginx
现在打开浏览器并输入URL http://test.lab/status
以查看PHP-FPM进程状态。
查看PHP-FPM状态页面
或者,使用curl程序 ,如下所示,其中-L
标志指定页面的位置。
$ curl -L http://test.lab/status
默认情况下,状态页仅打印摘要或短状态。 要查看每个池进程的状态,请在查询字符串中传递“full” ,例如:
http://www.foo.bar/status?full
您可以定义输出格式(JSON,HTML或XML),如图所示。
http://www.foo.bar/status?json&full http://www.foo.bar/status?html&full http://www.foo.bar/status?xml&full
以下是每个进程在php-fpm完整状态中返回的值:
- pid - 进程的PID。
- 状态进程状态(空闲,运行等)。
- 开始时间 - 进程开始的日期和时间。
- 从此开始 - 自进程启动以来的秒数。
- requests - 进程已服务的请求数。
- 请求持续时间 - 以μs为单位的持续时间。
- 请求方法 - 请求方法(GET,POST等)。
- 请求URI - 请求带有查询字符串的URI。
- 内容长度 - 请求的内容长度(仅限POST)。
- user - user(PHP_AUTH_USER)(如果未设置,则为“ - ”)。
- script - 调用主脚本(如果未设置,则为' - ')。
- 最后一个请求cpu - %cpu消耗的最后一个请求(注意,如果进程不处于空闲状态,它总是为0)。
- 最后一个请求内存 - 上次请求消耗的最大内存量(如果进程未处于空闲状态,则始终为0)。
这就是现在! 在本文中,我们已经解释了如何在Nginx Web服务器下启用php-fpm状态页面。 使用下面的反馈表与我们分享您的想法。