Raspberry Pi : installer Nginx avec support PHP, CGI et SCGI
Il est maintenant temps d’installer un serveur Web pour différents services comme du monitoring, du téléchargement, Owncloud ou un serveur de musique. C’est ce que nous allons voir avec la mise en place de NGinx.
Pour notre serveur Web, le but est d’avoir un support de différentes technologies pour ne pas être limité. En plus de Nginx, on va installer php-fpm, fcgiwrap et le support SCGI (pour l’interface web de rtorrent). Depuis la version 0.8.42, le module SCGI est inclus donc pas besoin de tout recompiler (ouf !)
Pour ceux qui veulent un comparatif des différents serveurs web, vous pouvez regarder l’article ici.
- Installer les packages additionnels
apt-get install php5-fpm libgd2-xpm libpcrecpp0 libxpm4
- Installer Nginx
apt-get install nginx
- Créer le répertoire /var/www
mkdir /var/www chown -R www-data:www-data /var/www
- Créer un fichier index.php dans /var/www avec le contenu suivant :
<?php phpinfo(); ?>
- Modifier le fichier /etc/nginx/sites-available/default en remplaçant les anciennes valeurs par celle de votre configuration. Ici par exemple :
root /var/www;
index index.php index.html index.htm;
location ~ .php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
- Redémarrer le serveur
service nginx restart
- Un petit tour depuis votre navigateur sur l’IP de votre serveur et vous aurez le résultat suivant
Affichage d’un fichier PHP avec Nginx
- Installer le wrapper CGI si vous avez besoin d’exécuter des scripts CGI sur votre serveur
apt-get install fcgiwrap
- Réduire le nombre de processus PHP et CGI pour libérer de la mémoire
- Modifier le fichier /etc/php5/fpm/php-fpm.conf
process.max = 2
- Modifier le nombre maximum de processus. Dans mon cas je ne vais pas avoir des dizaines de connexions donc dans le fichier /etc/nginx/nginx.conf :
worker_processes 1
- Modifier le fichier /etc/php5/fpm/php-fpm.conf
- Relancer les différents service
service nginx restart service php5-fpm restart
Si vous avez installé le wrapper CGI :
service fcgiwrap restart
Voilà pour le serveur web en configuration de base.