我想查看Bitnami LAMP堆栈系统上的PHP-FPM状态页面。设置并访问Bitnami LAMP堆栈中的PHP-FPM状态页面
然而,当我尝试,我得到一个空白页,或一个错误说:
Request exceeded the limit of 10 internal redirects due to probable configuration error.
所以我需要什么做的就是它的工作?
我想查看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
(或其他命令来使用你喜欢的编辑器同样,你可能不需要sudo的,如果你已经安装了bitnami当前用户,而不是使用的。一个Bitnami AMI这让这个文件与根的所有权。)
在该文件中,找到行
;pm.status_path = /status
,并更改为:
pm.status_path = /php_fpm_status
保存文件。 (在纳米,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
然后在Web浏览器中打开新的位置,或卷曲它:
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锁定就足够了这个基本的例子)
享受!如果还有更好的方法可以做到这一点,请分享智慧:-)
感谢您的上述指示。他们让我开始了,但我坚持如何为特定应用程序启用它。例如我的Magento应用程序文件有''' SetHandler “代理:FCGI:// Magento的-FPM” '''但加入''' 我的域的SetHandler“proxy:fcgi:// magento-fpm” LocationMatch>为'部分返回一个404.在Magento特定的配置中有一些东西不允许处理此路径。请指导。 –
Shrenik
明白了。如果我们必须启用特定于池的状态监视,请添加以下内容。例如,对于magento bitnami堆栈,将htaccess.conf添加到'''/opt/bitnami/apps/magento/htdocs“>'''section'''RewriteCond%{REQUEST_URI}!^ /(mag_fpm_status) '''绕过重写到index.php,然后在''' '''结束标记或在文件结尾'''/mag_fpm_status“> SetHandler”proxy:fcgi:// magento-fpm “ '''。 Sethandler应该匹配/opt/bitnami/apps/magento/conf/http-app.conf。在浏览器中访问'''/mag_fpm_status?full&html'' –
Shrenik
不要忘记在服务目录的'.htaccess'中设置** mod_rewrite **规则!在我的情况下,我有一个同时运行的Wordpress网站,所以我不得不排除特定的路径。 有关详细信息,请参阅此页:http://stackoverflow.com/questions/1848500/htaccess-mod-rewrite-how-to-exclude-directory-from-rewrite-rule – StrangeCode