操作系统:Ubuntu 20.04.2网络服务器:Nginx 1.18.0PHP的:8.0.5
我想激活/status
PHP-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
页面?
注意:测试服务器所以我注释掉了allow
和deny
。
答案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
没有解析相关路径。