我想查看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