# grep pm.status_path /etc/php5/fpm/pool.d/www.conf
pm.status_path = /fcgi-status
nginx配置:
location ~ ^/(fcgi-status|ping)$ {
access_log off;
allow 127.0.0.1;
deny all;
fastcgi_param SCRIPT_FILENAME /path/$fastcgi_script_name;
fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket;
}
fastcgi_param 和 fastcgi_pass 与网站上运行的相同。
php-fastcgi 和 nginx 已重新启动,但是:
# curl http://127.0.0.1/fcgi-status -i
HTTP/1.1 404 Not Found
Server: nginx/1.10.1
Date: Tue, 18 Oct 2016 08:10:03 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.5.9-1ubuntu4.20
No input file specified.
这不是重复的这个问题因为错误不是‘文件未找到’(可能是 nginx 找不到路径)而是‘未指定输入文件’。请注意是php 标头在响应中,因此答案不是来自 nginx,而是来自 php-fpm。
这是服务器上唯一的池。
我究竟做错了什么?
答案1
您的fastcgi_param SCRIPT_FILENAME
路径中有一个路径前缀,但是在php-fpm
配置中没有前缀。
因此您需要改变其中一个以使它们相同。
答案2
最后发现:我搞乱了 fpm 和 fast-cgi。配置更改是在 fpm 中,但我运行的是 fast-cgi。