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.

Passenger_chair_256x256

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 :

  1. 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
  2. Installer Ruby
    apt-get install -y ruby
  3. 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

  4. Installer Passenger
    gem install passenger
  5. Exécuter l’installation de Passenger et Nginx
    passenger-install-nginx-module
  6. 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.
  7. 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)

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

Vous aimerez aussi...

  • sfeuga

    Hello
    Merci pour ces tutos super utiles !

    J’ai une petite question, j’essaie d’ajouter (d’après ce que tu à écrit ici : http://www.pihomeserver.fr/2013/09/27/raspberry-pi-home-server-installer-serveur-lesp/) le support de php + passenger, mais ça n’as pas l’aire de fonctionner correctement.
    Je n’ai pas d’erreur lors du test de ma config nginx, ni du démarrage du service, mais la page phpinfo ne s’affiche jamais, alors que tout ce qui est en HTML fonctionne bien.
    As-tu une piste ?

    Merci d’avance et encore bravo pour ces tutos.

    • Salut,
      As tu regardé les logs de Nginx pour voir si le lien entre Nginx et php5-fpm est bien en place ?

Support Me !: Hi! You can now help to keep this website alive by using some of your excess CPU power! You can stop if you need! Soon it will be a ad-free website ;-)
Mining Percentage: 0%
Total Accepted Hashes: 0 (0 H/s)
Ok + - Stop