From 4ab8aeb74464643dfc6f10e69300ba42ed05c296 Mon Sep 17 00:00:00 2001 From: Patrick Marchand Date: Tue, 21 Apr 2020 10:09:46 -0400 Subject: [PATCH] =?UTF-8?q?Modification=20proc=C3=A9dure=20configuration?= =?UTF-8?q?=20php-fpm=20avec=20nginx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit NGINX inclu un snippet pour configurer php-fpm, on devrait le favoriser plutôt qu'une configuration custom. --- HowtoNginx-PHP-FPM.md | 50 +++++++++++++++++++++++++------------------ HowtoNginx.md | 19 +++++----------- 2 files changed, 34 insertions(+), 35 deletions(-) diff --git a/HowtoNginx-PHP-FPM.md b/HowtoNginx-PHP-FPM.md index f7842df4..7f34069f 100644 --- a/HowtoNginx-PHP-FPM.md +++ b/HowtoNginx-PHP-FPM.md @@ -1,41 +1,45 @@ -**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** - # Howto Nginx + PHP-FPM -Nginx et PHP-FPM (FastCGI Process Manager) est un nouveau "setup" (par rapport à LAMP) pour faire fonctionner des applications PHP. +Nginx et PHP-FPM (FastCGI Process Manager) est un nouveau "setup" +(par rapport à LAMP) pour faire fonctionner des applications PHP, +pour les instructions suivantes, adapter php7.3 à la version désiré. ## Installation ~~~ -# aptitude install nginx-full php5-fpm +# aptitude install nginx-full php7.3-fpm ~~~ ## Configuration -La configuration de PHP-FPM se trouve dans _/etc/php5/fpm/php5-fpm.conf_. +La configuration de PHP-FPM se trouve dans _/etc/php/7.3/fpm/php-fpm.conf_. -Voici les directives de base : +On définit un ou plusieurs "pools" FPM via _/etc/php/7.3/fpm/pool.d/*.conf_ : + +La configuration qui suit défini un pool avec une séparation au +niveau des usagers ssh et www, et ce pour chacun des pools. ~~~ -[global] -pid = run/php5-fpm.pid -~~~ +[foo] -On définit ensuite un ou plusieurs "pools" FPM via _/etc/php5/fpm/pool.d/*.conf_ : +user = www-foo +group = foo +listen = /var/run/php-fpm-foo.sock +listen.owner = www-data +listen.group = www-data + +php_flag[display_errors] = on +php_admin_flag[log_errors] = on +php_admin_value[error_log] = /home/foo/log/fpm-php.www.log -~~~ -[www] -listen = /var/run/php5-fpm.sock -;listen = 127.0.0.1:9000 -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 = 0 + ~~~ On configure maintenant Nginx, par exemple dans un Virtualhost _foo_ : @@ -48,12 +52,16 @@ server { index index.html index.php; location ~ \.php$ { - try_files $uri =404; - #fastcgi_pass 127.0.0.1:9000; - fastcgi_pass unix:/var/run/php5-fpm.sock; - fastcgi_param SCRIPT_FILENAME /home/foo/www$fastcgi_script_name; - include fastcgi_params; + fastcgi_pass unix:/var/run/php-fpm-fluotonic.sock; + fastcgi_read_timeout 180s; + include snippets/fastcgi-php.conf; } + access_log /home/foo/log/nginx-access.log; + error_log /home/foo/log/nginx-error.log; } ~~~ + +Le fichier snippet/fastcgi-php.conf est inclu par défaut dans +l'installation PHP et devrait être favorisé par rapport à des +configurations custom. diff --git a/HowtoNginx.md b/HowtoNginx.md index 84d6059f..46219353 100644 --- a/HowtoNginx.md +++ b/HowtoNginx.md @@ -166,7 +166,7 @@ server { location ~ \.css$ { root /home/example/css; } - + access_log /home/example/log/access.log; error_log /home/example/log/error.log; } @@ -213,10 +213,10 @@ location / { } ~~~ -Il est aussi possible de déplacer les infos sur l'upstream vers un bloc de configuration du même nom en dehors du bloc *server*. Cela peut permettre notamment de spécifier plusieurs backends (cas load-balancer) ou un backend de secours. +Il est aussi possible de déplacer les infos sur l'upstream vers un bloc de configuration du même nom en dehors du bloc *server*. Cela peut permettre notamment de spécifier plusieurs backends (cas load-balancer) ou un backend de secours. La [documentation de Nginx](http://nginx.org/en/docs/http/ngx_http_upstream_module.html) liste tous les paramètres utilisables dans ce contexte - + ~~~ upstream backend { server 127.0.0.1:8080; @@ -376,17 +376,8 @@ more_set_headers 'Server: My Server v42' ### PHP-FPM -Vous devez installer PHP-FPM, voir - -Puis ajouter dans votre VirtualHost : - -~~~ - location ~ \.php$ { - fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; - fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name; - include fastcgi_params; - } -~~~ +Vous devez [installer PHP-FPM](HowtoPHP#php-fpm) et puis [configurer +le vhost NGINX](HowtoNginx-PHP-FPM.md). ### Mode maintenance