FluxRSS FlickR Twitter

Maxime Gaillard

DESCARTES : Je pense, donc je blog !

19 avr 09

Mongrel et Nginx : déploiement de Ruby On Rails

Posté dans Tutoriaux | Tags :, , , , | 3 Commentaires »


Tout ce qui va suivre implique que vous connaissiez un minimum Nginx et que vous l’utilisiez déjà en frontal et non pas en proxy.

Pour avoir Ruby On Rails sur Linux (Debian ici) il va falloir installer un serveur web qui le gère. Mon choix s’est porté sur Mongrel car il est le plus rapide. Et devient encore plus rapide avec Nginx en frontal (on parle de plus de 60% plus rapide !).

Installation de Mongrel, Rails et Ruby :

gem install mongrel
 
gem install rails
 
apt-get install ruby

(si vous avez pas gem, un apt-get install gem devrait suffire !)

Ensuite allez à l’endroit où votre projet Rails se trouvera.

cd /var/www/rails
 
rails nom_du_projet

Vous avez maintenant un projet Ruby On Rails dans /var/www/rails. Il faut maintenant configurer Nginx et Mongrel pour que vous puissiez y avoir accès.

Mongrel :

cd /var/www/rails/nom_du_projet
 
mongrel_rails start -d -p 3000 --prefix=/nom_du_projet

Ici le serveur Mongrel démarre en Daemon (-d) sur le port 3000 (-p 3000) et avec le prefix de votre projet.

Maintenant si vous tapez xx.xx.xx.xx:3000/nom_du_projet (où xx.xx.xx.xx est l’ip du serveur) vous devrez avoir une belle page de Ruby On Rails vous disant que tout marche. Il va maintenant falloir configurer Nginx.

Nginx :
Dans votre Virtual Host ajoutez :

server {
   listen 80;
   server_name votre_nom_de_domaine.com;
   access_log /chemin_vers_les_logs_access.log;
   error_log /chemin_vers_les_logs_error.log;
 
  location / {
      root /var/www/rails/;
      index index.html;
      }
 
   location /nom_du_projet {
   proxy_pass http://localhost:3000;
   }
}

Maintenant si vous allez sur votre nom de domaine (ou sous domaine) vous devriez avoir la même page de Ruby On Rails que précédemment. Il vous reste plus qu’à coder ;)

Dans le même genre:




3 Supers Commentaires pour “Mongrel et Nginx : déploiement de Ruby On Rails”




  1. Tu n’utilises pas mongrel_rails cluster::[start|stop|status] ? seulement un mongrel par app ? quoique oui ça doit suffire tant que ça ne grossit pas trop !

  2. Maxime
    Votre avatar

    Tout à fait !

  3. Bonjour,
    Effectivement apache2 n’est pas la meilleure solution, j’utilise passenger avec ngnix et ça roule ! Mais au moment ou tu as publié cet article, il me semble que passenger pour ngnix n’existait pas encore.
    Si tu as pu comparer les deux ça m’intéresse…

Ecrire un commentaire :

Attention: Les commentaires peuvent être modérés. Ton commentaire peut mettre un peu de temps avant d'être en ligne.




Agence Web Grenoble Django

Articles récents

Nuage de Tags

Articles les plus populaires


Catégories


Articles Aléatoires