我想看看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锁定就足够了)
请享用! 如果有更好的方法来做任何这一切,那么请分享智慧:-)