4

Monit を使用して FPM デーモンを監視しようとしていますが、リスポーンと PID の変更により、次の方法は最善の方法ではないと思いますか?

check process php5-fpm with pidfile "/var/run/php5-fpm.pid"
    start = "/etc/init.d/php5-fpm start"
    stop = "/etc/init.d/php5-fpm stop"
    if failed port 80 protocol http then restart

私が収集できることから、これを行うためのより良い方法は、FPM ping URL を利用することですが、Apache でこれらをアクティブ化することはできません。

FPMプールオプションを設定する以外に、Apache/PHP-FPMで正確に何をする必要がありますか:

pm.status_path = /status ping.path = /ping

私が望んでいたのは、次の場所に簡単に行けるようにすることです。

http://mydomain.com/status

ステータス ページを表示します。この URL にアクセスすると、404 エラーが発生します。/status と /ping を localhost ポート 9000 の FPM サーバーにリダイレクトするには、ある種のハンドラーが必要だと思います。これを行うにはどうすればよいですか?

4

3 に答える 3

11

/status と /ping を処理するには、Apache でデフォルトの vhost (000-default???) をセットアップする必要があります。私はnginxを使用しています(申し訳ありませんが、必要に応じて適応します)。defaultファイルには次の場所ディレクティブがあります。

location ~ ^/(status|ping)$ {
    include fastcgi_params;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    allow 127.0.0.1;
    deny all;
}

これにより、次のことが可能になりますcurl localhost/status

また、php-fpm conf (私の場合は www.conf) を変更し、次の行のコメントを外す必要があります。

pm.status_path = /status
ping.path = /ping
于 2012-10-15T12:51:30.153 に答える
4

このスレッドも私を助けてくれました...白い「空白」のPHPページを取得していました。

/etc/nginx/fastcgi_paramsにこれを 追加しました

fastcgi_param PATH_TRANSLATED   $document_root$fastcgi_script_name;

魔法のように働いた

于 2015-02-11T16:03:47.130 に答える
1

Bitnami LAMP スタックに関する完全な Q&A をここに投稿しました。

Bitnami LAMP スタックで PHP-FPM ステータス ページを設定してアクセスする

そこにある詳細はセットアップにも適用されるはずですが、おそらく Apache 構成を次のように変更する必要があります。

<LocationMatch "/php_fpm_status">
  SetHandler php5-fpm
</LocationMatch>

基本的に、ハンドラーは、最初にファイルを PHP-FPM に送信するために使用している名前と一致する必要があります。bitnami を使用する場合、関連する conf 設定は次のようになります。

<IfDefine USE_PHP_FPM>
  <Proxy "unix:/path/to/bitnami/php/var/run/www.sock|fcgi://www-fpm" timeout=300>
  </Proxy>
  <FilesMatch \.php$>
    SetHandler "proxy:fcgi://www-fpm"
  </FilesMatch>
</IfDefine>

したがって、このセットアップでは、次のものを使用します。

<LocationMatch "/php_fpm_status">
  SetHandler "proxy:fcgi://www-fpm"
</LocationMatch>

ただし、他のインストールでは、PHP-FPM で一般的に使用しているものを調べてから、ステータス ページのハンドラーを設定するときにそれを複製します。

于 2016-05-21T23:14:35.807 に答える