2016-05-21 58 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