Ma config nginx php-fpm et fastcgi

  • Auteur de la discussion Auteur de la discussion hanlin
  • Date de début Date de début
WRInaute occasionnel
Bonjour,
Voila presque un 2 semaines voire trois que je potasse et tente de bosser sur une nouvelle config. J'ai installer nginx + php-fpm ainsi que fastcgi. Dans la documentation de Nginx : http://wiki.nginx.org/FcgiExample on propose une configuration :

Code:
bind= 127.0.0.1:9000

Code:
USER=www-data
GROUP=www-data

Dans mon cas, ce que j'ai choisi c'est de faire tourner chaque site sous un user et groupe différent. J'ai crée des pool de configuration de php-fpm que j'adapte à au besoin de chaque site. J'ai aimé savoir si le script de configuration de FAST-CGI dois être crée pour chaque utilisateur, afin d'adapter sa configuration à chaque site. Comment faire dans ce cas la ?
Merci !
 
WRInaute passionné
Le problème de ta config bien qu'elle ait une apparence sécurisé (chaque user a son propre process FPM) est qu'elle l'est encore moins car chaque user a "trop" de droit.
Je ne pense pas que ce genre de config soit bien même si l'idée me plait.
Pour faire ça il faudra start tes process php-fpm indépendament avec des users différents.
Je pense que c'est une bonne galère.

Pour Apache je sais qu'il y a SuPHP qui permet de faire ça de manière automatisé, pour nginx pa sûr que ça puisse fonctionner. Ta méthode me semble bien, il faudrait lancer php-fpm en command line:
php-fpm -y conf_correspondant_a_l_user

Ca devrait fonctionner, bon, après pas sûr que ça soit facile à entretenir pour les restarts ou autre.
 
WRInaute occasionnel
Salut
D'après ce que j'ai compris php5-fpm est prevu pour qu'il y ait ces pools, offrant ainsi plus de souplesse. Pour ce qui ait du demarrage, il n'est apparement pas nécessaire de le faire pour chaque user, vu que dans le fichier de configuration générale de FPM il y a une ligne prévue pour :

Code:
;;;;;;;;;;;;;;;;;;;;
; Pool Definitions ;
;;;;;;;;;;;;;;;;;;;;
include=/home/nomdudomaine/www/*/config/fpm-pool.conf


Voici un tuto qui va encore plus loin en ajoutant le chroot...dommage que lorsque je décommente la ligne de chroot :

Code:
http://publications.jbfavre.org/web/php-fpm-apps-server-nginx.fr


Mise à part les quelques erreurs 502 de nginx, que l'on peut resorber en adapatant chaque config, les sites tournent bien.
 
WRInaute passionné
Le gros soucis de cette conf est que tes users (sauf si tu es le seul "user") peuvent modifier leurs pool, du coup si quelqu'un fait une erreur de conf et/ou est en train de modifier son fichier pendant que tu fais un restart de PHP FPM, tu casses toute ton install (sauf si PHP FPM est suffisament intélligent pour l'ignorer lui même).

Pour tes erreurs 502, j'ignore comment j'avais fait mais j'avais réussi à la fixer en touchant un peu la conf de nginx + php-fpm pour du "grossier" (tous les sites d'un coup).
Le gros avantage d'avoir un seul gros pool est que en fonction de "où est" la charge (sur quel site elle est) nginx se servira sur n'importe lequel:
Tu mets un seul pool sur blabla.com qui n'a qu'un visiteur unique par jour, bah suffit que ce site fasse un buzz, il n'y aura pas assez de ressources.
 
Discussions similaires
Haut