php-fpm /status 文件未找到

php-fpm /status 文件未找到

操作系统:Ubuntu 20.04.2网络服务器:Nginx 1.18.0PHP的:8.0.5


我想激活/statusPHP-FPM 的页面并尝试了以下操作:

  • 在中/etc/php/8.0/fpm/pool.d/,我将这行添加pm.status_path = /status到我想要监控的站点的池文件中。
  • 在网站的 Nginx 服务器块中,我添加了以下内容:
    location ~ ^/(status|ping)$ {
      access_log off;

      # allow 127.0.0.1;
      # allow 1.2.3.4;
      # deny all;

      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_index index.php;
      include fastcgi_params;
      ## Now the port or socket of the php-fpm pool we want the status of
      fastcgi_pass localhost:8000;
      # fastcgi_pass unix:/run/php-fpm/your_socket.sock;
    }
  • 重新加载并重启php8.0-fpm和nginx

但当我尝试访问https://example.com/status(example.com 是代表性的)或者 curl URL,我收到“找不到文件”消息。

如何激活并显示该/status页面?


注意:测试服务器所以我注释掉了allowdeny

答案1

通过更改以下行直接链接fastcgi_param到文件后,我设法使其工作:status.html

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

对此:

fastcgi_param SCRIPT_FILENAME /usr/share/php/8.0/fpm/status.html;

现在状态页面终于可以正常工作了。

但不太清楚为什么$document_root$fastcgi_script_name没有解析相关路径。

相关内容