Passenger: deployment facile per Ruby on Rails

Nel mondo di Ruby on Rails si può definire una rivoluzione quello che Phusion, una ditta di software dei Paesi Bassi, ha rilasciato venerdì (qui l’annuncio ufficiale).
Passenger, chiamato anche mod_rails, è un modulo di Apache che rende facile il deployment di applicazioni Rails quasi quanto quelle PHP.

Come funziona.
Quando viene richiesta una pagina da una delle applicazioni Rails, Passenger controlla se c’è già un’istanza attiva, altrimenti la carica al volo e l’unica cosa che il navigatore noterà sarà un’attesa di qualche secondo.
La cosa bella è che il framework Rails viene caricato in un processo separato (uno per ogni versione del framework, ad es 1.2.6 e 2.0.2) e condiviso tra più applicazioni, diminuendo occupazione di memoria e tempi di avvio.

Inoltre, se un applicazione non viene utilizzata per un certo tempo (di default 120 secondi) viene chiusa per liberare memoria.

Questa soluzione è l’ideale per risparmiare risorse (in particolare memoria) quando abbiamo sulla stessa macchina molte applicazioni poco trafficate.

Ma se faccio delle modifiche e devo riavviare l’applicazione come faccio?
Semplice, basta un:
$ touch /myapp/tmp/restart.txt
e al prossimo accesso l’applicazione situata in /myapp verrà riavviata.

Per quanto riguarda le prestazioni, Passenger riesce a rivaleggiare tranquillamente con Mongrel, ed anche a superarlo in alcune occasioni (ad esempio con Typo).

Installazione
Consideriamo un sistema sul quale siano già installati apache, ruby, rubygems e ovviamente rails, basterà installare la gemma passenger con il comando:
# gem install passenger
Eventualmente usare su o sudo per i permessi di root.
A questo punto Passenger ci mette a disposizione un comodo comando per compilare ed installare il modulo di Apache con una semplice procedura guidata passo per passo:
# passenger-install-apache2-module
Se non fossero soddisfatte tutte le dipendenze necessarie alla compilazione, verrà segnalato il problema e addirittura il comando per risolverlo (se il sistema operativo è tra quelli supportati).
Che dire, facile no?

Per continuare con la configurazione di Apache vi consiglio di leggere l’esauriente guida utente e se avete ancora dubbi continuate con il resto della documentazione a corredo con Passenger.

Dopo questa introduzione non mi rimane che consigliarmi di dare un’occhiata a questo software a suo modo rivoluzionario, perché a parer mio Passenger può diventare LA soluzione per chi utilizza Ruby on Rails con Apache, dimenticandosi così di proxy balancer, mongrel e compagnia bella.

Concludo augurando gemme e rubini per tutti 🙂

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.