开发者问题收集

在 Apache2 上设置 php-fpm 的 /status 页面

2020-07-30
2257

我尝试在 apache 上设置 php-fpm 的 /status 页面,但出现 404 错误,但我不知道原因。我既不是 Apache2 专家,也不是 php 专家,而且我已经为此苦苦挣扎了几天,所以我来这里寻求帮助。

这是我的 apache2.conf 设置。我还有另一个托管在 apache 上的站点,其目录配置为:

<LocationMatch "/fpm-status">
Order Allow,Deny
Allow from 127.0.0.1
ProxyPass unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/fpm-status
</LocationMatch>

这是我的 php5.6 设置

listen = /run/php/php5.6-fpm.sock
listen.backlog = 65535
user = www-data
group = www-data
pm.status_path = /fpm_status

当我尝试通过 http://localhost/fpm-status 进行 curl 时,会出现此消息:

File not found.

当我尝试访问该路径时,apache2 日志上会出现此消息:

AH01071: Got error 'Primary script unknown\n'
2个回答

检查这个: https://gist.github.com/Jiab77/a9428050ab9bb3f17c5e33343da94fd8

似乎你可能缺少一个别名。

Fred
2020-07-31

我解决了这个问题,我做了多项更改,然后它就成功了,我不知道具体是什么,所以我把它们列了出来。

  1. 将“fcgi://localhost/fpm-status”更改为“fcgi://localhost/”
  2. 将“pm.status_path = /fpm_status”更改为“pm.status_path = /status”
  3. service apache2 restart
  4. service php5.6-fpm restart
  5. 然后 curl 到 http://localhost/status 并按预期工作
John Guzman
2020-07-31