Raspberry Pi - Installer Nginx avec support Python, Ruby et NodeJS
La plupart des serveurs Web gèrent le PHP, certains en plus le CGI. Dans ce tutoriel, nous allons voir comment utiliser Nginx avec des pages en Python, Ruby ou encore NodeJS.
La solution proposée pour permettre d’afficher des pages en Ruby,Python et NodeJS est de passer par l’outil Phusion Passenger. Il s’installe aussi bien pour Apache que pour Nginx. C’est donc pour ce dernier que j’ai choisi de l’installer.
Pour installer votre serveur Web, voici comment faire :
- Si vous avez déjà Nginx, le site de Passenger vous recommande de le supprimer. Sinon, vous pouvez installer Nginx comme expliqué dans cet article mais dans ce cas vous aurez deux binaires différents avec des configurations différentes.
Au cas où, voici la commande pour désinstaller Nginx :apt-get remove nginx nginx-full nginx-light nginx-naxsi nginx-common
- Installer Ruby
apt-get install -y ruby
- Installer RubyGems 1.8.25
cd wget http://rubyforge.org/frs/download.php/76729/rubygems-1.8.25.tgz tar zxvf rubygems-1.8.25.tgz cd rubygems-1.8.25 ruby ./setup.rb cd .. rm -rf rubygems-1.8.25
L’éxecution de la commande
gem --version
doit vous retourner 1.8.25
- Installer Passenger
gem install passenger
- Exécuter l’installation de Passenger et Nginx
passenger-install-nginx-module
- Suivez les instructions et installez les paquets obligatoires si besoin. Dans ce cas relancez ensuite la commande de l’étape précédente.
Passenger va peut être se plaindre du peu de mémoire (chez moi j’ai un 256Mo).
J’ai gardé l’option par défaut d’installation dans /opt/nginx pour ne pas complexifier la configuration. - A la fin de la compilation, vous retrouvez votre serveur Nginx dans le répertoire /opt/nginx. Dans le sous répertoire conf, vous pouvez ajouter un bloc server pour gérer votre site. Par exemple pour l’application Tracks de cet article, il vous suffit d’ajouter un bloc :
server { listen 8000; root /var/www/tracks/public; passenger_enabled on; }
Vous devez pointer vers le répertoire public et non la racine (ici /var/www/tracks)
- Pensez à bien consulter les logs dans /opt/nginx/log ou ceux de l’application si quelque chose se passe mal. C’est une mine d’information qui dans 99% des cas vous aidera à résoudre les problèmes.
Vous avez maintenant un serveur Web pouvant supporter d’autres langages que de l’HTML. Rien n’empéche ensuite d’y ajouter le support PHP avec php5-fpm ou le CGI avec fastcgi.