CentOS 5: Installer Nginx et PHP
Par Pierre-Emmanuel Lefebvre le vendredi 11 septembre 2009, 14:20 - Lien permanent
 Nginx est un serveur web très léger développé par un développeur russe. La documentation est très fournie mais malheureusement en Russe, ne lisant pas couramment le cyrillique, il est possible de trouver des informations dans le http://wiki.nginx.org. Il est à noter que Nginx est considéré comme plus léger que lighttpd et est utilisé par des sites à très gros traffic.
L'installation y est expliquée, mais la liaison avec PHP est un peu moins explicitée pour les distributions RHEL/Centos. Il a été choisi ici de lier nginx avec php-fpm, php-fpm est un patch qui optimise l'utilisation de PHP en fast-cgi
Ci-dessous, vous trouverez une procédure afin de réussir à lier Nginx avec PHP.
Tout d'abord, profitons de l'existence d'un dépot pour CentOS 5 réalisé par un Russe. (Oui Nginx est toujours russe!)
[root@localhost ~]# vi /etc/repos.d/centalt.repo
Et y placer le contenu suivant:
[CentALT] name=CentALT Packages for Enterprise Linux 5 - $basearch baseurl=http://centos.alt.ru/repository/centos/5/$basearch/ enabled=1 gpgcheck=0 includepkgs=php* nginx
(Le paramètre incluepkgs permet de limiter les mises à jour depuis ce dépot uniquement pour php et nginx)
Un petit yum update pour mettre à jour les sources:
[root@localhost ~]# yum update
Et on lance php:
[root@localhost ~]# /etc/init.d/php-fpm start
Puis on le configure pour se lancer à chaque démarrage
[root@localhost ~]# chkconfig php-fpm on
Passons désormais à l'installation à proprement parlé de Nginx:
[root@localhost ~]# yum install nginx
[root@localhost ~]# chkconfig nginx on
Et finalement, on configure nginx pour travailler avec php:
[root@localhost ~]# vi /etc/nginx/nginx.conf
Et insérer:
location ~ \.php$ {
root /var/www/nossl; # itmena the root of the coument are located on /usr/share/nginx/html
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
On finit par lancer nginx:
[root@localhost ~]# service nginx start
C'est terminé, vous pouvez dès à présent tester votre serveur web!
(Par exemple un <?php phpinfo(); ?> dans /usr/share/nginx/html/index.php )


