Plesk + NGINX代理上的PHP-FPM状态页面

时间:2017-03-09 15:34:55

标签: php apache nginx proxy plesk

我正在尝试在Plesk 17下运行的vhost上启用PHP-FPM状态页面,使用apache来提供PHP文件,但是使用nginx作为代理。 我已启用php的状态页面,但我遇到了nginx规则的问题。这是我到目前为止的附加nginx指令

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

然而,这个(以及我尝试的其他一些指令)似乎没有用,因为我得到了一个"找不到文件"访问状态页面时出错。

有人设法做到了吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

状态页面需要端口80/443用于apache2,但与Plesk结合使用时,您的apache2 - webserver将侦听端口80/443上的端口7080/7081和nginx。

PLS。例如使用



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

在你的server.conf,httpd.conf中,并从你的SSH命令行调用页面,例如&#34; lynx&#34;

&#13;
&#13;
lynx http://localhost:8005/apache-status
&#13;
&#13;
&#13;

对于PHP-FPM - 状态 - 页面,请参阅。找到相应的&#34; fifthelement.gr.conf&#34; (使用标准PHP5 - 来自您域中供应商的Handler的示例:&#34; /etc/php5/fpm/pool.d/fifthelement.gr.conf")并在内部定义:

pm.status_path = /fpm-status

然后,修改您的附加nginx指令,例如:

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

......再次,你可以使用&#34; lynx&#34;使用示例 - 命令:

&#13;
&#13;
lynx http://localhost/fpm-status
&#13;
&#13;
&#13;

答案 1 :(得分:0)

以下适用于我在CentOS 7上使用PLESK 17(在 Plesk&gt;网站和域名&gt; [yourdomainname]&gt;托管设置我有:运行PHP作为 FPM应用程序由nginx提供

获取工作/状态页面的步骤

  1. 创建/修改/var/www/vhosts/system/[yourdomainname]/conf/php.ini添加以下内容

    [php-fpm-pool-settings]
    pm.status_path = /status
    
  2. 内部 Plesk&gt;网站&amp;域名&gt; [yourdomainname]&gt; Apache&amp; 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
    
  4. 然后您应该可以访问http://[yourdomainname]/statushttp://[yourdomainname]/status?full