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.
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
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
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
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. [email protected]:
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. [email protected]:
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/
ProxyPassReverse / http://127.0.0.1:3001/
ProxyPassReverse / http://127.0.0.1:3002/
ProxyPassReverse / http://127.0.0.1:3003/
ProxyPassReverse / http://127.0.0.1:3004/
ProxyPassReverse / http://127.0.0.1:3005/
ProxyPassReverse / http://127.0.0.1:3006/
ProxyPassReverse / http://127.0.0.1:3007/
ProxyPassReverse / http://127.0.0.1:3008/
ProxyPassReverse / 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 [P,L]
RewriteRule ^/(.*)$ 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 [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:${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/
…
RewriteMap servers1 rnd:/bla/bla/map-10-mongrels_app1
RewriteRule ^/rails_app/(.*)$ http://127.0.0.1:${servers1:ports1}/$1
[P,L]
ProxyPassReverse /rails_app2 http://127.0.0.1:4000/
…
RewriteMap servers2 rnd:/bla/bla/map-10-mongrels_app2
RewriteRule ^/rails_app2/(.*)$ http://127.0.0.1:${servers2:ports2}/$1
[P,L]
ma non l’ho mai provato.
Paolo
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. [email protected]:
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.
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