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

## Installation

~~~
# aptitude install nginx-full php5-fpm
~~~

## Configuration

La configuration de PHP-FPM se trouve dans _/etc/php5/fpm/php5-fpm.conf_.

Voici les directives de base :

~~~
[global]
pid = run/php5-fpm.pid
~~~

On définit ensuite un ou plusieurs "pools" FPM via _/etc/php5/fpm/pool.d/*.conf_ :


~~~
[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_ :

~~~
server {
    listen 80;
    server_name www.example.com example.com;
    root /home/foo/www;
    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;
    }

}
~~~
