Apache et plusieurs pools PHP-FPM

J'ai deux sites que je cours depuis les vhosts 2.2 d'apache avec PHP-FPM 5.4 sur Ubuntu 12.04. Jusqu'à présent, j'utilise une configuration mod_fastcgi de stock (stock), mais maintenant, je veux split cela en deux pools FPM afin que je puisse utiliser différents parameters PHP pour chacun (par exemple, un est un site dev, de sorte que l'affichage des erreurs est activé ).

J'ai configuré deux pools FPM avec différents noms et locations de socket, selon les docs, désactivé la configuration fastcgi globale, l'ai copié dans mes vhosts et l'ai modifié pour pointer vers les différents pools pour chaque vhost, comme ceci:

<IfModule mod_fastcgi.c> <FilesMatch \.php$> SetHandler php-script </FilesMatch> Action php-script /php5.fcgi virtual Alias /php5.fcgi /var/fastcgi/php5.fcgi FastCGIExternalServer /var/fastcgi/php5.fcgi -socket /var/run/php5-fpm-www.sock <Directory "/var/fastcgi"> Order allow,deny <Files "php5.fcgi"> Order deny,allow Deny from all Allow from env=REDIRECT_STATUS </Files> </Directory> </IfModule> 

Il y a en fait 4 vhosts car il existe des saveurs régulières et SSL de chaque nom d'hôte, et chaque paire pointe sur un pool FPM.

Le problème auquel je suis confronté est que apache lance une erreur en disant:

 FastCgiExternalServer: redefinition of previously defined class "/var/fastcgi/php5.fcgi" 

Comment cela devrait-il être fait?

One Solution collect form web for “Apache et plusieurs pools PHP-FPM”

L'enjeu est que vous devez renommer l'action et l'alias aussi, donc ce ne sont pas des «redéfinitions», donc, pour mon groupe «www», ma configuration hhhhh se présente comme suit:

 <IfModule mod_fastcgi.c> <FilesMatch \.php$> SetHandler php-script </FilesMatch> Action php-script /php5-www.fcgi virtual Alias /php5-www.fcgi /var/fastcgi/php5-www.fcgi FastCGIExternalServer /var/fastcgi/php5-www.fcgi -socket /var/run/php5-fpm-www.sock <Directory "/var/fastcgi"> Order allow,deny <Files "php5-www.fcgi"> Order deny,allow Deny from all Allow from env=REDIRECT_STATUS </Files> </Directory> </IfModule> 

Et pour SSL sur le même groupe:

 <IfModule mod_fastcgi.c> <FilesMatch \.php$> SetHandler php-script </FilesMatch> Action php-script /php5-www-ssl.fcgi virtual Alias /php5-www-ssl.fcgi /var/fastcgi/php5-www-ssl.fcgi FastCGIExternalServer /var/fastcgi/php5-www-ssl.fcgi -socket /var/run/php5-fpm-www.sock <Directory "/var/fastcgi"> Order allow,deny <Files "php5-www-ssl.fcgi"> Order deny,allow Deny from all Allow from env=REDIRECT_STATUS </Files> </Directory> </IfModule> 

Donc, ils utilisent des noms différents, mais en montrant le même socket.

  • configurez php-fpm pour fonctionner uniquement dans un directory et HHVM sur le rest
  • Fichier .htaccess non chargé pour les files PHP
  • nginx et php-fpm "Script primaire inconnu"
  • Trop de files ouverts
  • Nginx - Aide de configuration pour plusieurs sites
  • php-fpm invoque oom-killer
  • Nginx Upstream Error
  • NGINX + php-fpm + APC Haute charge CPU
  • Nginx + PHP-FPM sur Centos 6.5 me donne 502 mauvaise passerelle (erreur de fpm: incapable de lire ce que l'enfant dit: mauvais descripteur de file)
  • Crazy problem avec Nginx, PHP5-FPM sur Ubuntu
  • Comment puis-je activer PHP Flush () avec nginx + PHP-FPM?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.