Configurare Ruby On Rails un su server web di produzione: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
da adottare
Nessun oggetto della modifica
(da adottare)
 
(7 versioni intermedie di 6 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Debian Etch 4.0<br/>Debian Lenny 5.0<br/>Debian Squeeze<br/>Debian Sid|}}
{{Guida da adottare}}{{Versioni compatibili|Squeeze}}
= Introduzione =
== Introduzione ==
La soluzione più diffusa e stabile, per la messa on-line di un applicativo scritto in ruby on rails, è data dall'accoppiata Mongrel e Apache2.<br/>
La soluzione più diffusa e stabile, per la messa on-line di un applicativo scritto in ruby on rails, è data dall'accoppiata Mongrel e Apache2.<br/>
La struttura del nostro ambiente di produzione è descritta nella seguente figura:
La struttura del nostro ambiente di produzione è descritta nella seguente figura:
Riga 11: Riga 11:




= Installazione =
== Installazione ==
== Apache2 ==
=== Apache2 ===
Per installare Apache è sufficiente un  
Per installare Apache è sufficiente un  
<pre>
<pre>
Riga 72: Riga 72:
L'installazione e la configurazione base di apache sono terminate.
L'installazione e la configurazione base di apache sono terminate.


== Ruby ==
=== Ruby ===
Se non è già presente sulla macchina, provvediamo ad installare ruby ed i componenti più importanti, necessari alla compilazione di mongrel:
Se non è già presente sulla macchina, provvediamo ad installare ruby ed i componenti più importanti, necessari alla compilazione di mongrel:


Riga 80: Riga 80:




== Rails ==
=== Rails ===
Prima di tutto scarichiamo rubygems dal sito ufficiale: http://www.rubygems.org/
Prima di tutto scarichiamo rubygems dal sito ufficiale: http://www.rubygems.org/


Riga 102: Riga 102:




== Mongrel ==
=== Mongrel ===
Mongrel si installa allo stesso modo di rails, inoltre installeremo anche mongrel-cluster, che ci semplificherà moltissimo la vita:
Mongrel si installa allo stesso modo di rails, inoltre installeremo anche mongrel-cluster, che ci semplificherà moltissimo la vita:
<pre>
<pre>
Riga 109: Riga 109:
</pre>
</pre>


= Configurazione =
== Configurazione ==
== Mongrel ==
=== Mongrel ===
La configurazione del cluster di server mongrel è semplice, e si riduce a creare un semplice file di configurazione. Questo è quello base, da cui partire:
La configurazione del cluster di server mongrel è semplice, e si riduce a creare un semplice file di configurazione. Questo è quello base, da cui partire:
<pre>
<pre>
Riga 144: Riga 144:




== Apache ==
=== Apache ===
Questo è un classico file di configurazione di apache per un VirtualHost, che sfrutta 3 server mongrel.
Questo è un classico file di configurazione di apache per un VirtualHost, che sfrutta 3 server mongrel.


Riga 202: Riga 202:
le spiegazioni sono nei commenti del file di configurazione. Consiglio di non cancellarli quando si utilizza questo template, in quanto possono sempre tornare utili nel futuro. ;)
le spiegazioni sono nei commenti del file di configurazione. Consiglio di non cancellarli quando si utilizza questo template, in quanto possono sempre tornare utili nel futuro. ;)


= Avvio, Arresto e Riavvio di un cluster Mongrel =
== Avvio, Arresto e Riavvio di un cluster Mongrel ==
In questa parte del tutorial vedremo come lanciare, fermare e riavviare una batteria di server mongrel:
In questa parte del tutorial vedremo come lanciare, fermare e riavviare una batteria di server mongrel:
== Avvio ==
=== Avvio ===
<pre>mongrel_rails cluster::start -C /opt/ror/config/mongrel.yml</pre>
<pre>mongrel_rails cluster::start -C /opt/ror/config/mongrel.yml</pre>
== Arresto ==
=== Arresto ===
<pre>mongrel_rails cluster::stop  -C /opt/ror/config/mongrel.yml</pre>
<pre>mongrel_rails cluster::stop  -C /opt/ror/config/mongrel.yml</pre>
== Riavvio ==
=== Riavvio ===
<pre>mongrel_rails cluster::restart  -C /opt/ror/config/mongrel.yml</pre>
<pre>mongrel_rails cluster::restart  -C /opt/ror/config/mongrel.yml</pre>


== Inserimento nel processo di Boot ==
=== Inserimento nel processo di Boot ===
Giunti a questo punto siamo in grado di gestire manualmente l'avvio, l'arresto e il riavvio di un cluster mongrel, però siamo di fronte ad un problema: in caso di riavvio (accidentale o no) della macchina dovremo avviare manualmente tutti i vari cluster, questo non è assolutamente accettabile in un ambiente di produzione!!!
Giunti a questo punto siamo in grado di gestire manualmente l'avvio, l'arresto e il riavvio di un cluster mongrel, però siamo di fronte ad un problema: in caso di riavvio (accidentale o no) della macchina dovremo avviare manualmente tutti i vari cluster, questo non è assolutamente accettabile in un ambiente di produzione!!!


Per ovviare a tutti ciò, inseriremo negli script di boot (e di shutdown) uno script che si prenderà il carico di avviare tutti i cluster mongrel da noi specificati.
Per ovviare a tutti ciò, inseriremo negli script di boot (e di shutdown) uno script che si prenderà il carico di avviare tutti i cluster mongrel da noi specificati.


=== File di Configurazione ===
==== File di Configurazione ====
I file di configurazione che verranno letti dallo script andranno inseriti nella directory <code>'''/etc/mongrel_cluster/'''</code>.  
I file di configurazione che verranno letti dallo script andranno inseriti nella directory <code>'''/etc/mongrel_cluster/'''</code>.  
Normalmente non è una buona idea, nelle applicazioni in ruby on rails, inserire file di un progetto all'esterno della directory del progetto stesso, in quanto richiederebbe sempre un accesso alla macchina per l'aggiornamento del file di configurazione del cluster, soprattutto se si utilizza il comodo sistema di deploy ''capistrano''.
Normalmente non è una buona idea, nelle applicazioni in ruby on rails, inserire file di un progetto all'esterno della directory del progetto stesso, in quanto richiederebbe sempre un accesso alla macchina per l'aggiornamento del file di configurazione del cluster, soprattutto se si utilizza il comodo sistema di deploy ''capistrano''.
Riga 226: Riga 226:
</pre>
</pre>


=== Inserimento dello script ===
==== Inserimento dello script ====
Lo script si trova in <code>'''/usr/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.5/resources/mongrel_cluster'''</code> (supponendo di avere installata la versione 1.0.5 di mongrel_cluster).  
Lo script si trova in <code>'''/usr/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.5/resources/mongrel_cluster'''</code> (supponendo di avere installata la versione 1.0.5 di mongrel_cluster).  
Per inserirlo nel processo di avvio è sufficiente eseguire i seguenti comandi:
Per inserirlo nel processo di avvio è sufficiente eseguire i seguenti comandi:
Riga 234: Riga 234:
</pre>
</pre>


= Conclusione =
== Conclusione ==
Giunti a questo punto abbiamo configurato alla perfezione sia apache che mongrel. Se tutto funziona a dovere il nostro applicativo dovrebbe essere visibile dall'esterno. ;)
Giunti a questo punto abbiamo configurato alla perfezione sia apache che mongrel. Se tutto funziona a dovere il nostro applicativo dovrebbe essere visibile dall'esterno. ;)


{{Autori
|Autore = [[Utente:MaXeR|MaXeR]]
}}


[[Categoria:Server]]
[[Categoria:Web server]][[Categoria: Ruby]]
[[Categoria:RubyOnRails]]
3 581

contributi

Menu di navigazione