繁体   English   中英

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

[英]Set up and access the PHP-FPM status page in Bitnami LAMP stack

我想在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,这使得该文件具有root权限。)

在文件中,找到该行

;pm.status_path = /status    

并将其更改为:

pm.status_path = /php_fpm_status

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

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

找到要为状态页面提供服务的域的Apache配置。 默认情况下,我认为该文件类似于/path/to/bitnami/apache2/conf/bitnami/bitnami.conf但如果你有一个带有vhosts的实时服务器,你可能已经改变了它。

在配置中,您需要添加:

<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锁定就足够了这个基本示例)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM