# Ruby e demone linux

**URL:** <https://www.ruby-forum.com/t/ruby-e-demone-linux/128419>\
**Category:** IT\
**Created:** [February 7, 2008, 3:28pm UTC](https://www.ruby-forum.com/t/ruby-e-demone-linux/128419 "2008-02-07T15:28:47Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![globalace](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e56c9b/32.png) [@globalace](https://www.ruby-forum.com/u/globalace)\
**Post date:** [February 7, 2008, 3:28pm UTC](https://www.ruby-forum.com/t/ruby-e-demone-linux/128419/1 "2008-02-07T15:28:47Z")

</div>

Esiste un demone (es. quello httpd, mysqld ecc.) di ruby in da porter  
far partire ruby in automatico all’avvio di linux? Non so qualcosa del  
tipo rubyd ecc.

---

<div class="post-metadata">

**Author:** ![globalace](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e56c9b/32.png) [@globalace](https://www.ruby-forum.com/u/globalace)\
**Post date:** [February 7, 2008, 3:32pm UTC](https://www.ruby-forum.com/t/ruby-e-demone-linux/128419/2 "2008-02-07T15:32:51Z")

</div>

Antonio A. wrote:

> Esiste un demone (es. quello httpd, mysqld ecc.) di ruby in da porter  
> far partire ruby in automatico all’avvio di linux? Non so qualcosa del  
> tipo rubyd ecc.

un demone dell’interprete di un linguaggio?!

posso sapere la motivazione? semplice curiosità

ciao

---

<div class="post-metadata">

**Author:** ![globalace](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e56c9b/32.png) [@globalace](https://www.ruby-forum.com/u/globalace)\
**Post date:** [February 7, 2008, 5:42pm UTC](https://www.ruby-forum.com/t/ruby-e-demone-linux/128419/3 "2008-02-07T17:42:31Z")

</div>

Ali P. wrote:

> Antonio A. wrote:
> 
> > Esiste un demone (es. quello httpd, mysqld ecc.) di ruby in da porter  
> > far partire ruby in automatico all’avvio di linux? Non so qualcosa del  
> > tipo rubyd ecc.
> 
> un demone dell’interprete di un linguaggio?!
> 
> posso sapere la motivazione? semplice curiositï¿½

> ciao

Praticamente ho notato che se non riceve richieste entro un determinato  
tempo il server si blocca

---

<div class="post-metadata">

**Author:** ![globalace](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e56c9b/32.png) [@globalace](https://www.ruby-forum.com/u/globalace)\
**Post date:** [February 9, 2008, 12:22pm UTC](https://www.ruby-forum.com/t/ruby-e-demone-linux/128419/4 "2008-02-09T12:22:04Z")

</div>

Antonio A. wrote:

> Praticamente ho notato che se non riceve richieste entro un determinato  
> tempo il server si blocca

Penso quindi che ti riferisca a Rails, e non all’interprete Ruby.

Non mi Ã¨ mai capitato, e ho un po’ di server attivi sia in sviluppo che  
in produzione. La mia configurazione tipica Ã¨ uno o piÃ¹ mongrel messi  
dietro ad un server apache2 che fa da proxy.

Se ci spieghi la tua configurazione forse possiamo esserti maggiormente  
d’aiuto.

Paolo

---

<div class="post-metadata">

**Author:** ![globalace](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e56c9b/32.png) [@globalace](https://www.ruby-forum.com/u/globalace)\
**Post date:** [February 11, 2008, 10:42am UTC](https://www.ruby-forum.com/t/ruby-e-demone-linux/128419/5 "2008-02-11T10:42:12Z")

</div>

Mi accodo con una semi-richiesta e non con una risposta…:

Apache ti fa da proxy per l’applicazione/i rails tramite virtual host,  
oppure sotto una location particolare?  
Es:

- rails\_app.tuodominio.it
- tuodominio.it/rails\_app

Nel secondo caso potresti postare la configurazione di Apache?

TIA

2008/2/9, Paolo M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![globalace](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e56c9b/32.png) [@globalace](https://www.ruby-forum.com/u/globalace)\
**Post date:** [February 11, 2008, 9:10pm UTC](https://www.ruby-forum.com/t/ruby-e-demone-linux/128419/6 "2008-02-11T21:10:42Z")

</div>

Carlo P. wrote:

> Mi accodo con una semi-richiesta e non con una risposta…:
> 
> Apache ti fa da proxy per l’applicazione/i rails tramite virtual host,  
> oppure sotto una location particolare?  
> Es:
> 
> - rails\_app.tuodominio.it
> - tuodominio.it/rails\_app
> 
> Nel secondo caso potresti postare la configurazione di Apache?
> 
> TIA
> 
> 2008/2/9, Paolo M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

Uso virtual host, ma giÃ che ci sono posto cmq la configurazione perchÃ©  
ho l’impressione che con poche modifiche puoi gestire anche il secondo  
caso.

ProxyPassReverse / [http://127.0.0.1:3000/](http://127.0.0.1:3000/)  
ProxyPassReverse / [http://127.0.0.1:3001/](http://127.0.0.1:3001/)  
ProxyPassReverse / [http://127.0.0.1:3002/](http://127.0.0.1:3002/)  
ProxyPassReverse / [http://127.0.0.1:3003/](http://127.0.0.1:3003/)  
ProxyPassReverse / [http://127.0.0.1:3004/](http://127.0.0.1:3004/)  
ProxyPassReverse / [http://127.0.0.1:3005/](http://127.0.0.1:3005/)  
ProxyPassReverse / [http://127.0.0.1:3006/](http://127.0.0.1:3006/)  
ProxyPassReverse / [http://127.0.0.1:3007/](http://127.0.0.1:3007/)  
ProxyPassReverse / [http://127.0.0.1:3008/](http://127.0.0.1:3008/)  
ProxyPassReverse / [http://127.0.0.1:3009/](http://127.0.0.1:3009/)

ProxyPreserveHost on  
RewriteEngine on

RewriteMap servers rnd:/bla/bla/map-10-mongrels  
RewriteRule ^/(static)/?(._) $0 [L]  
RewriteRule ^/java-app/?(._) [http://127.0.0.1:8080/java-app/$1](http://127.0.0.1:8080/java-app/$1) [P,L]  
RewriteRule ^/(.\*)$ [http://127.0.0.1](http://127.0.0.1):${servers:ports}/$1 [P,L]

Commenti:

Si parte al contrario, con i ProxyPassReverse mappano le URL di risposta  
dei mongrel in URL che appaiono originare dal proxy.  
Attivo poi il modulo rewrite e con la RewriteMap gli dico di mappare le  
richieste in ingresso in uno a caso dei 10 mongrel. Il file  
map-10-mongrels contiene la mono-linea

ports 3000|3001|3002|3003|3004|3005|3006|3007|3008|3009

Fin qui dovrebbe essere tutto chiaro, ma ora inizio a complicare un po’.  
Per far servire dei file statici direttamente da Apache avevo deciso di  
metterli tutti in una directory /static sotto la DocumentRoot del server  
e cosÃ¬

RewriteRule ^/(static)/?(.\*) $0 [L]

evita che le URL che iniziano con /static/ passino attraverso il proxy.  
Giuro che non mi ricordo piÃ¹ il perchÃ© delle parentesi, ma cosÃ¬ funziona  
🙂

Casomai dietro al proxy non ci sia solo Rails (in SkipperMania ho un  
jetty che serve la parte Comet con le Continuations), servirÃ qualcosa  
come

RewriteRule ^/java-app/?(.\*) [http://127.0.0.1:8080/java-app/$1](http://127.0.0.1:8080/java-app/$1) [P,L]

che devia le URL che iniziano con /java-app/ al server in ascolto sulla  
porta 8080. Mi sovviene che o qui manca un ProxyPassReverse, o quelli  
iniziali non servono a nulla, o data l’ora mi sfugge qualcosa…

Infine, con

RewriteRule ^/(.\*)$ [http://127.0.0.1](http://127.0.0.1):${servers:ports}/$1 [P,L]

si compie il mapping delle richieste verso i mongrel. Non Ã¨ un caso che  
a ${servers:ports} corrisponda la stringa servers in

RewriteMap servers rnd:/bla/bla/map-10-mongrels

e la stringa ports nel contenuto di map-10-mongrels.

Per gestire tuodominio.it/rails\_app1 e tuodominio.it/rails\_app2 credo  
che si debbano aggiungere linee del tipo

ProxyPassReverse /rails\_app1 [http://127.0.0.1:3000/](http://127.0.0.1:3000/)  
…  
RewriteMap servers1 rnd:/bla/bla/map-10-mongrels\_app1  
RewriteRule ^/rails\_app/(.\*)$ [http://127.0.0.1](http://127.0.0.1):${servers1:ports1}/$1  
[P,L]

ProxyPassReverse /rails\_app2 [http://127.0.0.1:4000/](http://127.0.0.1:4000/)  
…  
RewriteMap servers2 rnd:/bla/bla/map-10-mongrels\_app2  
RewriteRule ^/rails\_app2/(.\*)$ [http://127.0.0.1](http://127.0.0.1):${servers2:ports2}/$1  
[P,L]

ma non l’ho mai provato.

Paolo

---

<div class="post-metadata">

**Author:** ![globalace](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e56c9b/32.png) [@globalace](https://www.ruby-forum.com/u/globalace)\
**Post date:** [February 13, 2008, 10:15am UTC](https://www.ruby-forum.com/t/ruby-e-demone-linux/128419/7 "2008-02-13T10:15:25Z")

</div>

Ti ringrazio per la chiarezza.

Hai mai provato ad utilizzare un proxy “puro” (tipo Pound o Nginx)  
dietro al quale poni Apache (PHP), Rails, etc…??

2008/2/11, Paolo M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![globalace](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e56c9b/32.png) [@globalace](https://www.ruby-forum.com/u/globalace)\
**Post date:** [February 13, 2008, 10:27am UTC](https://www.ruby-forum.com/t/ruby-e-demone-linux/128419/8 "2008-02-13T10:27:45Z")

</div>

On Feb 13, 2008, at 10:14 AM, Carlo P. wrote:

> Ti ringrazio per la chiarezza.
> 
> Hai mai provato ad utilizzare un proxy “puro” (tipo Pound o Nginx)  
> dietro al quale poni Apache (PHP), Rails, etc…??

Per un sito che ho sviluppato ho usato pound + lighttpd + mongrel.  
L’unico problema  
che ho avuto e’ stato sugli upload di grossi file (video), per qualche  
motivo il  
passaggio da pound a mongrel a volte si inceppava (ho risolto facendo  
girare  
un mongrel dedicato su una porta alta aperta all’esterno).  
Al momento sto facendo esperimenti con ngnix (dato che purtroppo lo  
sviluppo di lighttpd e’ un po’ fermo, e la parte piu’ carente e’  
proprio il mod\_proxy,  
che invece in nginx e’ molto ben fatto) + thin (molto molto  
interessante).  
Se hai domande, son qui 🙂

S.

---

<div class="post-metadata">

**Author:** ![globalace](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/e56c9b/32.png) [@globalace](https://www.ruby-forum.com/u/globalace)\
**Post date:** [February 13, 2008, 10:34am UTC](https://www.ruby-forum.com/t/ruby-e-demone-linux/128419/9 "2008-02-13T10:34:31Z")

</div>

Carlo P. wrote:

> Ti ringrazio per la chiarezza.
> 
> Hai mai provato ad utilizzare un proxy “puro” (tipo Pound o Nginx)  
> dietro al quale poni Apache (PHP), Rails, etc…??

Avevo provato ad usare pound circa un anno fa, ma poi mi sono reso conto  
che mi serviva anche la parte di web server statico e poichÃ© giÃ  
conoscevo bene apache ho deciso di rimanere su quello. Non ho mai  
provato nginx anche se ne ho sentito parlare molto bene.

Paolo
