Michael `s blog OSS / Linux, réseau et ma vie privée

24 Okt/08 3

Apache2 mpm-worker et fcgid

Après Apache a senti la fois occasionnelle utilisés sur ce site pauses penser que j'ai décidé de remplacer le mpm-prefork mpm-worker avec la version qui est maintenant appelé aussi par PHP FastCGI.

Voici une petite instructions de configuration.

  • Installation des paquets nécessaires:

  aptitude install libapache2-mod-fcgid apache2-mpm-worker php5-cgi 

  • Configuration de l'Apache

  a2dismod php5
 a2enmod actions
 a2enmod fcgid 

  • Personnalisation de la configuration d'Apache

/ Etc/apache2/mods-enabled/fcgid.conf

 AddHandler fcgid-script. Fcgi
 Socketpath / var/lib/apache2/fcgid/sock
 IPCConnectTimeout 60 

/ Etc/apache2/conf.d/php5-fcgid.conf

 # Chemin vers le fichier php.ini - par défaut dans / etc / phpX / cgi
 DefaultInitEnv PHPRC = / etc/php5/cgi

 # Nombre de PHP Childs qui seront lancés.  Laisser indéfinie de laisser PHP décider.
 PHP_FCGI_CHILDREN DefaultInitEnv # 3

 # Demandes maximum avant qu'un processus est stoppé et un nouveau est lancé
 DefaultInitEnv PHP_FCGI_MAX_REQUESTS 2500

 # Définir un nouveau gestionnaire "php-fcgi» pour. "PHP" des fichiers, ainsi que l'action qui doit suivre
 AddHandler php-fcgi. Php
 Action php-fcgi / fcgi-bin/php-fcgi-wrapper

 # Définir le type MIME pour. "PHP" des fichiers
 AddType application / x-httpd-php. Php

 # Définir alias "/ fcgi-bin /".  L'action est au-dessus en utilisant cette valeur, qui signifie que les
 # Vous pouvez exécuter un autre "php5-cgi" commande en changeant juste cet alias
 Alias ​​/ fcgi-bin / / var/www/fcgi-bin.d/php5-default /

 # Mettez le gestionnaire fcgid-script pour tous les fichiers au sein de l'alias "/ fcgi-bin /"

 SetHandler fcgid-script
 Options + ExecCGI 

  • Création de l'emballage avec les

/ Var/www/fcgi-bin.d/php5-default/php-fcgi-wrapper

  # / Bin / sh
 # Wrapper pour PHP-fcgi
 # Cette enveloppe peut être utilisé pour définir les paramètres avant de lancer l'exécutable PHP-fcgi.

 # Définissez le chemin au fichier php.ini.  Ce défaut dans / etc / phpX / cgi.
 # Export PHPRC = / var/www/fcgi-bin.d/php5-web01/phprc
 l'exportation PHPRC = / etc/php5/cgi

 # Définir le nombre de PHP Childs qui seront lancés.  Laisser indéfinie de laisser PHP décider.
 PHP_FCGI_CHILDREN l'exportation = 5

 # Demandes maximum avant qu'un processus est stoppé et un nouveau est lancé
 PHP_FCGI_MAX_REQUESTS export = 5000

 # Lancez le PHP comme CGI
 # Ceci peut être toute autre version de PHP est compilé avec FCGI Quel soutien.
 exec / usr/bin/php5-cgi 

  • le wrapper nouvelle pour le rendre exécutable

  chmod + x / var/www/fcgi-bin.d/php5-default/php-fcgi-wrapper 

  • Enfin, Apache doit être redémarré

  / Etc/init.d/apache2 restart 

Commentaires (3) Trackbacks (0)
  1. Etch?

    Gerd

  2. Je serais vraiment intéressé, si votre serveur tourne sous etch. C'est exactement ce que j'ai déjà essayé ( http://blog.it4sport.de/2008/09/05/fastcgi-mit-php5/ ) et fait que de mauvaises expériences avec elle.

    Gerd

  3. Salut Gerd,

    Oui fonctionnant sous etch, seul le noyau est construit spécialement, XCache vient de backports.

    Michi


Laisser un commentaire

(requis)

Aucun trackback.