2016-05-21 34 views
4

我想查看Bitnami LAMP堆栈系统上的PHP-FPM状态页面。设置并访问Bitnami LAMP堆栈中的PHP-FPM状态页面

然而,当我尝试,我得到一个空白页,或一个错误说:

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

所以我需要什么做的就是它的工作?

回答

8

这个问题有两个部分。

首先,您需要在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锁定就足够了这个基本的例子)

享受!如果还有更好的方法可以做到这一点,请分享智慧:-)

+0

感谢您的上述指示。他们让我开始了,但我坚持如何为特定应用程序启用它。例如我的Magento应用程序文件有''' SetHandler “代理:FCGI:// Magento的-FPM” '''但加入''' 我的域的SetHandler“proxy:fcgi:// magento-fpm” 为'部分返回一个404.在Magento特定的配置中有一些东西不允许处理此路径。请指导。 – Shrenik

+0

明白了。如果我们必须启用特定于池的状态监视,请添加以下内容。例如,对于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

+0

不要忘记在服务目录的'.htaccess'中设置** mod_rewrite **规则!在我的情况下,我有一个同时运行的Wordpress网站,所以我不得不排除特定的路径。 有关详细信息,请参阅此页:http://stackoverflow.com/questions/1848500/htaccess-mod-rewrite-how-to-exclude-directory-from-rewrite-rule – StrangeCode