欢迎光临
我们一直在努力

如何在Nginx中启用和监视PHP-FPM状态

PHP-FPMFastCGI流程管理器 )是另一种PHP FastCGI实现,它带有许多对任何规模的网站都有用的额外功能,特别是那些接收高流量的网站。

它常用于LEMPLinux 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状态页面

保存更改并退出文件。

接下来,通过运行以下命令检查PHP-FPM配置文件是否存在任何错误。

$ sudo php-fpm -tOR$ sudo php7.2-fpm -t
检查PHP-FPM配置文件

检查PHP-FPM配置文件

然后重新启动PHP-FPM服务以应用最近的更改。

$ sudo systemctl restart php-fpmOR$ 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状态页面

查看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&fullhttp://www.foo.bar/status?html&fullhttp://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状态页面。 使用下面的反馈表与我们分享您的想法。

赞(0) 打赏
未经允许不得转载:老赵部落 » 如何在Nginx中启用和监视PHP-FPM状态

评论 抢沙发