Archives pour la catégorie “Installations”


Toujours en quête d’une solution d’un serveur pour Ruby on Rails qui ne prendrai pas toutes les ressources système de Valkyrie, je suis tombé sur Passenger, le mod_rails pour Apache.

Son installation est des plus simple :

$ gem install passenger
$ passenger-install-apache2-module

Ensuite il ne reste qu’a rajouté 3 lignes dans notre fichier de configuration d’Apache pour avoir mod_rails opérationnel. Son utilisation devient alors un jeu d’enfant. Fini l’edition des VirtualHost  avec toute les regles de réécriture et autre contrainte lors de l’utilisation de Thin ou Mongrel.  Il suffit juste de définir le DocumentRoot et le tour est joué :)

Niveau performance, il est plus rapide que Mongrel et quasiment équivalent à Thin, mais avec une utilisation de la mémoire plus fine. D’apres mes tests, lorsque personne ne se connecte sur l’application, le serveur est coupé et donc ne consomme rien, et lors d’une connection, celui est relancé jusqu’à ce qu’il soit inactif. Cela implique une premiere connexion un peu plus longue mais tout à fait acceptable,  donc pourquoi s’en privé ?

Cependant, Thin et Mongrel reste incontournable lors d’une utilisation plus avancé pour une gestion fine des clusters si on possède des serveurs réparti sur plusieurs machine. De plus Passenger est exclusivement utilisable pour Ruby on Rails, donc Merb et autre framework concurrent ne sont pas compatible.

J’en ai également profité pour mettre à jour certaines Gems installées : mongrel, thin, rmagick, sqlite-ruby

Comments Pas de commentaire »

Développant des applications Ruby on Rails, et en hébergeant certaines telles que mon gestionnaire de projets ( powered by Redmine ), je me suis vite retrouvé confronté aux problemes de charges mémoires et de réactivité du serveur.

Le serveur Mongrel, écrit en Ruby et en C, a donc été mis en place sur Valkyrie. Il permet d’avoir d’avoir une réactivité de l’application tout à fait agréable. Mais la charge mémoire reste toujours importante. Donc après quelques recherches, je suis tombé sur le serveur Thin.

Thin regroupe les 3 librairies suivantes :

  • Mongrel parser, la base de la vitesse et sécurité de Mongrel.
  • Event Machine, une librairie d’I/O réseau de très bonne performance, stable
  • Rack, l’interface minimale entre un serveur web et les framworks Ruby

Thin est extremement pratique à l’usage, et la charge mémoire réduite. Thin est donc mon serveur Ruby on Rails de prédilection pour le moment, jusqu’au moment où un concurrent se fera remarquer !

Exemple de mise en place du serveur :

thin config -C myapp.yml -s3 -p 5000
thin start -C myapp.yml

Ce qui met en place un fichier de configuration pour “myapp” qui définit le lancement de 3 serveurs à partir du port 5000.

Comments Pas de commentaire »

Le serveur est maintenant scanné quotidiennement pour la recherche de failles et de code malicieux.

Un rapport est envoyé directement aux admins quotidiennement à l’aide chkrootkit !

Le port 465 est un faux positif, il s’agit du port d’écoute de SMTP en SSL ;)

Comments 2 commentaires »