2017-03-09 34 views
1

我試圖啓用在Plesk 17下運行的虛擬主機上的PHP-FPM狀態頁面,使用apache爲PHP文件提供服務,但以nginx作爲代理。 我已啓用php的狀態頁面,但我遇到了nginx規則的問題。這裏是我的另外nginx的指令,到目前爲止Plesk + NGINX代理上的PHP-FPM狀態頁面

location /fpm-status { 
    include fastcgi.conf; 
    fastcgi_pass unix:/var/www/vhosts/system/fifthelement.gr/php-fpm.sock; 
    access_log off; 
    allow all; 
} 

然而,這(和其他一些指令,我想太)似乎並沒有工作,因爲我得到一個「找不到文件」的錯誤,而來訪的狀態頁。

有沒有人設法做到這一點?

謝謝!

回答

3

status-page期望apache2的端口80/443,但是與Plesk結合使用時,您的apache2-web服務器會偵聽端口80/443上的端口7080/7081和nginx。

請注意。例如使用

<IfModule mod_status.c> 
 
\t Listen 8005 
 
<Location /apache-status> 
 
\t SetHandler server-status 
 
\t Order deny,allow 
 
\t Deny from all 
 
\t Allow from 127.0.0.1 ::1 
 
</Location> 
 
\t ExtendedStatus On 
 
</IfModule>

您的server.conf中,httpd.conf文件裏面並從您的SSH調用的頁面 - 用如 「山貓」

lynx http://localhost:8005/apache-status
命令行

對於你的PHP FPM的狀態頁,請。找到相應的「fifthelement.gr.conf」(在您的域中使用來自供應商的標準PHP5 - Handler的示例:「/etc/php5/fpm/pool.d/fifthelement.gr.conf」)並定義內部:

pm.status_path = /fpm-status 

之後,修改你的額外nginx的指令,例如:

location /fpm-status { 
 
\t include fastcgi.conf; 
 
\t allow 127.0.0.1; 
 
\t deny all; 
 
\t fastcgi_pass unix:/var/www/vhosts/system/fifthelement.gr/php-fpm.sock; 
 
\t access_log off; 
 
\t }

...又一次,你可以使用 「猞猁」 與範例 - 命令:

lynx http://localhost/fpm-status

+0

不幸的是,你的解決方案適用於Apache的狀態頁面(這我已經啓用),而不是爲PHP -FPM狀態頁面。 –

+0

我按照以前的建議編輯過。 PLS。報告你的測試結果。 :-) – UFHH01

+0

我取得了部分成功,我可以看到該頁面,但我得到的只是一個「未找到文件」。錯誤。套接字文件在那裏,我也與其他人一起檢查......我的日誌文件寫道:「讀取來自上游的響應標頭時,在stderr中發送FastCGI:」主腳本未知「」' –

0

我下面的作品在CentOS 7(使用PLESK 17內的Plesk>網站&站點> [yourdomainname ]>虛擬主機設置我有:運行PHP作爲FPM應用nginx的)擔任

步驟獲得工作/狀態頁

  1. 創建/編輯/var/www/vhosts/system/[yourdomainname]/conf/php.ini加入以下

    [php-fpm-pool-settings] 
    pm.status_path = /status 
    
  2. 內部的Plesk>網站&站點> [yourdomainname]>阿帕奇& nginx的設置添加到附加nginx的指令以下

    location ~ ^/status$ { 
        allow 127.0.0.1; 
        allow [yourip]; 
        deny all; 
        fastcgi_split_path_info ^((?U).+\\.php)(/?.+)$; 
        fastcgi_param PATH_INFO $fastcgi_path_info; 
        fastcgi_pass "unix:///var/www/vhosts/system/[yourdomainname]/php-fpm.sock"; 
        include /etc/nginx/fastcgi.conf; 
    } 
    
  3. 刷新的Plesk PHP配置

    /usr/local/psa/bin/php_settings -u 
    

那麼你應該能夠訪問​​和http://[yourdomainname]/status?full