设置并访问Bitnami LAMP堆栈中的PHP-FPM状态页面

我想看看Bitnami LAMP堆栈系统上的PHP-FPM状态页面。

但是,当我尝试我得到一个空白页面,或错误说:

Request exceeded the limit of 10 internal redirects due to probable configuration error. 

那么我需要做些什么才能使它工作?

这个答案有两个部分。

首先,您需要在PHP-FPM配置中启用状态页面处理程序,然后您需要设置Apache以将给定的URL路由到该处理程序。

设置PHP-FPM:

 cd /path/to/bitnami cd php/etc sudo nano php-fpm.conf 

(或者任何使用你最喜欢的编辑器的命令,而且如果你已经安装了bitnami作为当前用户,而不是使用Bitnami AMI来保留这个文件的所有权,你可能不需要sudo。)

在文件中找到该行

 ;pm.status_path = /status 

并将其更改为:

 pm.status_path = /php_fpm_status 

保存文件。 (在nano中, CTRL-X ,然后Y确认)

然后在Apache中设置一个处理程序:

找到要为其提供状态页的域的Apache配置。 默认情况下,我认为这个文件类似于/path/to/bitnami/apache2/conf/bitnami/bitnami.conf但是如果你有一个带有虚拟主机的活动服务器,你可能已经改变了它。

在配置中你需要添加:

 <VirtualHost xxx> ... <LocationMatch "/php_fpm_status"> SetHandler "proxy:fcgi://www-fpm" </LocationMatch> ... </VirtualHost> 

重新开始:

 sudo /path/to/bitnami/ctlscript.sh restart 

然后在网络浏览器中打开您的新位置或卷曲它:

 curl ip.add.re.ss/php_fpm_status 

您应该看到PHP-FPM状态,如下所示:

 pool: www process manager: ondemand start time: 21/May/2016:20:28:57 +0000 start since: 13 accepted conn: 1 listen queue: 0 max listen queue: 0 listen queue len: 0 idle processes: 0 active processes: 1 total processes: 1 max active processes: 1 max children reached: 0 slow requests: 0 

到目前为止这么好,但任何人和他的恶意猴现在都可以查看您的FPM状态,所以可以通过IP地址锁定它。

您可以按照以下格式使用任何IP(例如您的个人IP)。 在Amazon EC2上,我们还可以将请求限制为仅源自服务器自己的私有IP地址(而不是公共可见的EIP)的请求。 所以如果私有IP是10.0.0.1:

 <VirtualHost xxx> ... <LocationMatch "/php_fpm_status"> Require ip 10.0.0.1 SetHandler "proxy:fcgi://www-fpm" </LocationMatch> ... </VirtualHost> 

重启Apache,你应该仍然可以通过命令行使用curl 10.0.0.1/php_fpm_status访问状态,但是对该URL的任何远程请求都会给出一个403 Forbidden响应。

(你也可以用密码保护页面或者做其他奇特的事情,但是对于这个基本的例子,IP锁定就足够了)

请享用! 如果有更好的方法来做任何这一切,那么请分享智慧:-)