Apache+mongrel x 2 app

Uso apache con mongrel per servire una app rails con il seguente file
di configurazione.
Funziona bene. Vorrei servire un’altra applicazione e immagino di dover
aggiungere un’ altra sezione
<VirtualHost *:80>

ma non riesco a configurarla, continua a servirmi solo la prima
applicazione
potete aiutarmi?
grazie

<VirtualHost *:80>
ServerName 72.192.209.102
DocumentRoot d:/jpnprj/jpn/public
<Directory “d:/jpnprj/jpn/public”>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

Configure mongrel instances

<Proxy balancer://mongrel_cluster>
BalancerMember http://72.192.209.102:4005
BalancerMember http://72.192.209.102:4006

RewriteEngine On

Uncomment for rewrite debugging

#RewriteLog logs/your_app_deflate_log deflate
#RewriteLogLevel 9

Check for maintenance file and redirect all requests

RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ /system/maintenance.html [L]

Rewrite index to check for static

RewriteRule ^/$ /index.html [QSA]

Rewrite to check for Rails cached page

RewriteRule ^([^.]+)$ $1.html [QSA]

Redirect all non-static requests to cluster

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]

Deflate

AddOutputFilterByType DEFLATE text/html text/plain text/xml
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

Uncomment for deflate debugging

#DeflateFilterNote Input input_info
#DeflateFilterNote Output output_info
#DeflateFilterNote Ratio ratio_info
#LogFormat ‘“%r” %{output_info}n/%{input_info}n (%{ratio_info}n%%)’
deflate
#CustomLog logs/your_app_deflate_log deflate
ErrorLog logs/your_app_error_log
CustomLog logs/your_access_log combined

Sarebbe utile vedere la configurazione completa del secondo virtual
host.
Così alla cieca mi viene in mente che ad apache si deve dar modo di
capire a quale cluster di mongrel passare le richieste. O lo fa
guardando il server name o lo fa guardando le URL. Poiché il server name
qui è l’indirizzo IP, non può farlo in questo modo, ma con questa
configurazione non può usare un prefisso dell’URL per discriminare tra
le due applicazioni.

Prova a fare questa prova in locale (se su Windows, vero?)

Metti in c:\windows\system32\drivers\etc\hosts queste due linee

127.0.0.1 app1.prova.com
127.0.0.1 app2.prova.com

Poi configura i due virtual host uno con ServerName app1.prova.com e
l’altro con ServerName app2.prova.com

I due gruppi di mongrel dovranno poi partire su porte diverse, e nei due
virtual host ad esempio configurali come:

BalancerMember http://127.0.0.1:4005
BalancerMember http://127.0.0.1:4006

BalancerMember http://127.0.0.1:5005
BalancerMember http://127.0.0.1:5006

A questo punto è possibile che apache abbia tutte le informazioni
necessarie.
Guarda se col browser arrivi all’una e all’altra con
http://app1.prova.com e http://app2.prova.com
Poi per renderle visibili dall’esterno dovrai usare un servizio di DNS
tra i tanti disponibili.

Ciao
Paolo

Bi Ma wrote:

Uso apache con mongrel per servire una app rails con il seguente file
di configurazione.
Funziona bene. Vorrei servire un’altra applicazione e immagino di dover
aggiungere un’ altra sezione
<VirtualHost *:80>

ma non riesco a configurarla, continua a servirmi solo la prima
applicazione
potete aiutarmi?
grazie

<VirtualHost *:80>
ServerName 72.192.209.102
DocumentRoot d:/jpnprj/jpn/public
<Directory “d:/jpnprj/jpn/public”>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

Configure mongrel instances

<Proxy balancer://mongrel_cluster>
BalancerMember http://72.192.209.102:4005
BalancerMember http://72.192.209.102:4006

RewriteEngine On

Uncomment for rewrite debugging

#RewriteLog logs/your_app_deflate_log deflate
#RewriteLogLevel 9

Check for maintenance file and redirect all requests

RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ /system/maintenance.html [L]

Rewrite index to check for static

RewriteRule ^/$ /index.html [QSA]

Rewrite to check for Rails cached page

RewriteRule ^([^.]+)$ $1.html [QSA]

Redirect all non-static requests to cluster

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]

Deflate

AddOutputFilterByType DEFLATE text/html text/plain text/xml
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

Uncomment for deflate debugging

#DeflateFilterNote Input input_info
#DeflateFilterNote Output output_info
#DeflateFilterNote Ratio ratio_info
#LogFormat ‘“%r” %{output_info}n/%{input_info}n (%{ratio_info}n%%)’
deflate
#CustomLog logs/your_app_deflate_log deflate
ErrorLog logs/your_app_error_log
CustomLog logs/your_access_log combined

Alle venerdì 18 aprile 2008, Paolo M. ha scritto:

BalancerMember http://127.0.0.1:4005
BalancerMember http://127.0.0.1:4006

BalancerMember http://127.0.0.1:5005
BalancerMember http://127.0.0.1:5006

Approfitto di questo thread per fare una domanda: da questa
configurazione e
da tutta la documentazione che ho letto ho dedotto che quindi ogni
webapp
dovrà avere almeno un’istanza di mongrel attiva su una porta diversa.
Se è così, un server che fa ad esempio hosting deve avere almeno n istanze
di
mongrel attive per quanti sono i domini/webapps???
Ciao
Giovanni.

Forse devi aggiungere nella definizione del virtual host anche il
balancer che usi

<VirtualHost *:80>

ProxyPass / balancer://mongrel_cluster


e
la stessa direttiva credo vada inserita nella definizione della
sezione principale

Il giorno 18/apr/08, alle ore 15:16, Bi Ma ha scritto:

grazie

Check for maintenance file and redirect all requests

Deflate

#CustomLog logs/your_app_deflate_log deflate
ErrorLog logs/your_app_error_log
CustomLog logs/your_access_log combined

Posted via http://www.ruby-forum.com/.


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml

Chiacchiera con i tuoi amici in tempo reale!
Yahoo Search - Ricerca nel Web | Motore di Ricerca

Riesumo la discussione per chiedere come usare le virtual directory come
quelle utilizzate da iis, per esempio:

http://server/app1
http://server/app2

Giovanni N. wrote:

Se � cos�, un server che fa ad esempio hosting deve avere almeno n istanze
di
mongrel attive per quanti sono i domini/webapps???

In shared hosting non si usano i mongrel ma fastcgi, almeno finché
mod_rails non sarà uscito dalla beta.

prova a cercare la discussione con topic “passenger e debian linux”,
è stato
trattato l’argomento che cerchi =)

ciao,
A.

2009/7/21 Marco M. [email protected]

S2 akira wrote:

Giovanni N. wrote:

Se � cos�, un server che fa ad esempio hosting deve avere almeno n istanze
di
mongrel attive per quanti sono i domini/webapps???

In shared hosting non si usano i mongrel ma fastcgi, almeno finché
mod_rails non sarà uscito dalla beta.

Ma è più veloce con mongrel_cluster o con fastcgi ? (spero con
mongrel_cluster altrimenti devo cambiare un sacco di configurazioni :stuck_out_tongue: )

On Tue, 2009-07-21 at 17:57 +0200, Alessandro S. wrote:

Ma è più veloce con mongrel_cluster o con fastcgi ? (spero con
mongrel_cluster altrimenti devo cambiare un sacco di configurazioni :stuck_out_tongue: )

Dipende dall’implementazione di fastcgi che usi, ad esempio Nginx ha una
delle migliori in assoluto, quelle per Apache tendenzialmente sono poco
robuste (per fargli un complimento) e non mantenute attivamente.

Di suo fastcgi e’ un protocollo orripilante ma di sicuro piu’
performante di qualsiasi parser http come mongrel.

Se hai bisogno di robustezza (“stabilita’” e’ una parola grossa) vai
tranquillo su mongrel. Se non sei spaventato dall’inquinare Apache con
un modulo che fa “di tutto e di piu’” vai tranquillissimo con
passenger/mod_rails. (che tra l’altro non richiede nessun tipo di
configurazione)

Mi permetto (tirando acqua al mio mulino) di consigliarti di seguire
questo nostro lavoro:

http://projects.unbit.it/hg/urack/

che unito a questo piccolo modulo per Apache:

http://projects.unbit.it/uwsgi/browser/mod_uwsgi.c

permettera’ di avere dei deploy robusti e performanti (senza aver paura
di far ammalare Apache) utilizzando
l’ambiente Rack che oramai e’ lo standard per i framework Ruby.


Roberto De Ioris
http://unbit.it
JID: [email protected]

On Thu, 2009-07-23 at 16:34 +0200, Michele C. wrote:

The uWSGI project — uWSGI 2.0 documentation

e

The uWSGI project — uWSGI 2.0 documentation

sono sviluppati per linux o sono disponibili anche per windows?

Linux, FreeBSD, OpenBSD e MacOSX.

Niente Windows, se qualcuno pero’ vuole cimentarsi nel porting e’ bene
accetto.


Roberto De Ioris
http://unbit.it
JID: [email protected]

The uWSGI project — uWSGI 2.0 documentation

e

The uWSGI project — uWSGI 2.0 documentation

sono sviluppati per linux o sono disponibili anche per windows?