22
0
Fork 0
wiki/HowtoNginx-PHP-FPM.md

68 lines
1.6 KiB
Markdown
Raw Normal View History

2016-12-29 11:25:39 +01:00
# Howto Nginx + PHP-FPM
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é.
2016-12-29 11:25:39 +01:00
## Installation
~~~
# aptitude install nginx-full php7.3-fpm
2016-12-29 11:25:39 +01:00
~~~
## Configuration
La configuration de PHP-FPM se trouve dans _/etc/php/7.3/fpm/php-fpm.conf_.
2016-12-29 11:25:39 +01:00
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.
2016-12-29 11:25:39 +01:00
~~~
[foo]
2016-12-29 11:25:39 +01:00
user = www-foo
group = foo
2016-12-29 11:25:39 +01:00
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
2016-12-29 11:25:39 +01:00
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 0
2016-12-29 11:25:39 +01:00
~~~
On configure maintenant Nginx, par exemple dans un Virtualhost _foo_ :
~~~
server {
listen 80;
server_name www.example.com example.com;
root /home/foo/www;
index index.html index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm-fluotonic.sock;
fastcgi_read_timeout 180s;
include snippets/fastcgi-php.conf;
2016-12-29 11:25:39 +01:00
}
access_log /home/foo/log/nginx-access.log;
error_log /home/foo/log/nginx-error.log;
2016-12-29 11:25:39 +01:00
}
~~~
Le fichier snippet/fastcgi-php.conf est inclu par défaut dans
l'installation PHP et devrait être favorisé par rapport à des
configurations custom.