Browse Source

Modification procédure configuration php-fpm avec nginx

NGINX inclu un snippet pour configurer php-fpm, on devrait le
favoriser plutôt qu'une configuration custom.
master
Patrick Marchand 5 months ago
parent
commit
4ab8aeb744
2 changed files with 34 additions and 35 deletions
  1. +29
    -21
      HowtoNginx-PHP-FPM.md
  2. +5
    -14
      HowtoNginx.md

+ 29
- 21
HowtoNginx-PHP-FPM.md View File

@@ -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.

+ 5
- 14
HowtoNginx.md View File

@@ -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 <https://wiki.evolix.org/HowtoPHP#php-fpm>

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



Loading…
Cancel
Save