Vous êtes ici : Accueil / Debian GNU/Linux / Applications Web / Administration / Afficher les statuts d'un serveur / PHP-FPM (FastCGI Process Manager)

PHP-FPM (FastCGI Process Manager)

Par Pierre-Yves Landuré Dernière modification 07/02/2014 12:34

Accédez aux statuts d'un serveur PHP-FPM via une interface Web intégrée dans un espace dédié à l'état en temps réel de votre serveur.

Ce guide est testé sur:

  • Debian 6.0 Squeeze
  • Debian 7.0 Wheezy

Prérequis

Ce guide nécessite:

Paramètres

Renseignez le domaine d'accès aux statuts du serveur:

DOMAIN="status.domain.com"

Installation

    Détectez le fichier de configuration du site de statut:

    STATUS_VHOST="$(command grep -rl \
        "STATUS PAGES CONFIGURATION END" \
        '/etc/apache2/sites-available')"

    Détectez le chemin d'installation utilisé:

    if [ -n "${STATUS_VHOST}" ]; then
    INSTALL_PATH=$(command grep "DocumentRoot" "${STATUS_VHOST}" \
    | command sed -e 's/^[ \t]*//;s/[ \t]*$//' -e 's/[ \t]*[ \t]/ /g' \
    | command cut --delimiter=" " --field=2)
    fi

    Détectez le sous-dossier utilisé:

    SUB_FOLDER=""
    if [ -n "${STATUS_VHOST}" -a -n "$(command grep '^[ ]*Alias ' "${STATUS_VHOST}")" ]; then
      SUB_FOLDER="$(command grep '^[ ]*Alias ' "${STATUS_VHOST}" \
    | command grep "${INSTALL_PATH}" \
          | command sed -e 's/^[ \t]*//;s/[ \t]*$//' -e 's/[ \t]*[ \t]/ /g' \
          | command cut --delimiter=" " --field=2)"
    fi

    Activez le module proxy d'Apache 2:

    if [ -n "${SUB_FOLDER}" ]; then
    command a2enmod proxy proxy_http
    fi

    Ajoutez la configuration nécessaire à l'hôte virtuel:

    if [ -n "${STATUS_VHOST}" -a -n "${SUB_FOLDER}" -a -e '/etc/php5/fpm/pool.d/www.conf' ]; then
    command sed -i -e "/STATUS PAGES CONFIGURATION END/i\\
    # FPM status page.\\
    <IfModule mod_proxy.c>\\
    ProxyRequests   Off\\
    ProxyPreserveHost On\\
    SetEnv proxy-nokeepalive 1\\
    ProxyPass ${SUB_FOLDER}/php-fpm-status http://localhost/php-fpm-status\\
    ProxyPass ${SUB_FOLDER}/php-fpm-ping http://localhost/php-fpm-ping\\
    </IfModule>\\
    \\
    # FPM status page.\\
    <Location /php-fpm-status>\\
    Allow from all\\
    </Location>\\
    \\
    # FPM ping page.\\
    <Location /php-fpm-ping>\\
    Allow from all\\
    </Location>\\
    " "${STATUS_VHOST}"
    fi

    Vérifiez que la configuration d'Apache 2 ne contient pas d'erreurs:

    command apache2ctl -t

    Rechargez la configuration d'Apache 2:

    /etc/init.d/apache2 force-reload

    Ajoutez le lien correspondant à la page d'accueil du domaine:

    if [ -e "${INSTALL_PATH}/index.html" -a -e '/etc/php5/fpm/pool.d/www.conf' ]; then
    command sed -i -e '/<\/ul>/i\
    <li><a href="./php-fpm-status">PHP FPM status</a></li>\
    <li><a href="./php-fpm-ping">PHP FPM ping</a></li> '\
      "${INSTALL_PATH}/index.html"
    fi

    Vous pouvez maintenant accéder aux statuts en temps réel de FPM sur le domaine dédié aux statuts du serveur.