lindev : administration linux , développement php

Aller au contenu | Aller au menu | Aller à la recherche

Tag - configuration php

Fil des billets - Fil des commentaires

24 août 2010

PHP 5.3.3 et php-fpm

php-fpm

php-fpm-logo.gif

Voilà quelques semaines que la version 5.3.3 de php est sortie avec comme belle nouveauté php-fpm .
Au risque de répéter la doc officielle , php-fpm est :

  • FPM permet notamment de faire tourner plusieurs VHosts avec un UID/GID différent et des PHP.ini différents.
  • Support de l'upload accéléré
  • Statistiques de base (similaire au module mod_status d'Apache)
  • Redémarrage de secours en cas de destruction accidentelle du cache opcode, lors de l'utilisation d'un accélérateur de code PHP
  • Amélioration de la gestion des processus en cas de graceful stop/start
  • Journalisation des scripts lents
  • Journalisation de stdout et stderr
  • fastcgi_finish_request() une fonction spéciale pour clôturer la connection avec le client, mais continuer un traitement php/

Installation

A partir de php 5.3.3 , les sources de php-fpm sont intégrés au core , il vous suffit dont d'ajouter le paramètre --enable-fpm à la compilation , voici donc un exemple de fichier de configuration à la compilation :

#!/bin/sh

export OPTIM=-02
./configure --prefix=/usr/local \
        --enable-fpm
        --with-xsl \
        --enable-soap \
        --with-gettext \
        --enable-mbstring --with-mbstring=all \
        --disable-debug \
        --enable-memory-limit \
        --enable-ftp \
        --with-mcrypt \
        --enable-zip \
        --enable-calendar \
        --enable-exif \
        --enable-pdo \
        --with-pdo-mysql \
        --with-mysql \
        --with-pdo-sqlite \
        --with-sqlite \
        --with-zlib \
        --with-jpeg-dir \
        --with-gd \
        --with-freetype-dir=DIR \
        --with-imap-ssl \
        --with-kerberos \
        --with-imap \
        --with-curl \
        --enable-bcmath \

Le seul impératif , est d'avoir le paquet libevent en version 1.4.11 minimum .
En cas de besoin voici les sources de cette lib : http://packages.debian.org/source/sid/libevent

Un simple

./configure
make
make install

fera l'affaire.

Configuration

Une fois l'installation de php terminée il vous faudra faire quelques petits réglages de base pour le bon fonctionnement .
nous allons commencer par editer le fichier de configuration par defaut de php-pfm

cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
vim /usr/local/etc/php-fpm.conf

J'ai pour habitude de tester avec les paramètres par défauts , puis d'adapter en fonction de mes besoins , voici donc la liste des paramètres à décommenter ( si ce n'est déjà fait ) , chez moi le groupe et l'utilisateur qui lance les process php sont www-data , à adapter dans votre cas , il est conseillé de mettre un utilisateur sans pouvoir .


  • pid = /usr/local/var/run/php-fpm.pid
  • error_log = /usr/local/var/log/php-fpm.log
  • listen.allowed_clients = 127.0.0.1
  • user = www-data
  • group = www-data
  • pm = dynamic
  • pm.max_children = 50
  • pm.start_servers = 20
  • pm.min_spare_servers = 5
  • pm.max_spare_servers = 35
  • pm.max_requests = 500

Voilà pour le fichier de configuration .

Démarrage automatique

Nous allons mettre l'exécutable dans le répertoire init.d afin qu'il lance automatiquement php-fpm au démarrage du serveur .

cd /etc/init.d
ln -s /usr/local/sbin/php-fpm /etc/init.d
update-rc.d php-fpm defaults

On peu maintenant lancer la bête , par un simple appel à : php-fpm
Si tout se passe correctement vous ne devriez avoir aucun message d'erreur , et une série de process se mettent à l'écoute sur le port 9000 par défaut .
Je vous laisse explorer la doc pour affiner vos réglages et aller plus loin quand à la virtualisation d'hôtes .
Utiliser php-fpm avec Nginx semble donc maintenant évident .. voilà qui va nous simplifier la vie , plus particulièrement à cette étape : liaison php - nginx

07 avr. 2010

Nginx - Vhost - php - perl - ssl

banniere-nginx.png
Bon , le billet qui sert de pont de départ ... pas toujours évident sur un blog de s'y retrouver .. sans sommaire ...
Voici donc le sommaire concernant les billets de Nginx

Installation , et utilisation de base

Installer Nginx manuellement , options de compilation , découvrez les emplacements des différents fichiers de configuration , démarrage automatique , options de base ect ...

Gérer les pages PHP et PERL

Nginx seul c'est bien , mais pouvoir l'utiliser avec php perl et .. tant d'autres , c'est mieux , dans ce billet , est éxpliqué la mise en place de php et perl en fast-cgi , et la liaison avec nginx .

SSL , vhost , et autres petites options

Mise en place de pages sécurisées par ssl , création de certificats , redirection automatique , mod_rewrite , compatibilité avec certains framework qui ont besoin du mod rewrite commezend framework , symphony , etc ...

- page 1 de 6