Ruby + Rails + Gem + Mongrel Cluster + Apache + MySQL n0 Red Hat EL
Servidor Rails no Red Hat EL 4. Ruby + Rails + Gem + Mongrel Cluster + Apache + MySQL rodando uma aplicação em Rails com Mongrel em cluster gerenciado pelo Apache no Red Hat EL.
Parte 4: Instalando e configurando o Mongrel com Apache / Parte 1
Pressione CTRL+C para continuarmos.
Crie um usuário chamado mongrel, necessário para "rodar" o cluster.
# useradd mongrel
Vamos instalar o Mongrel, que é um servidor para aplicações desenvolvidas em Ruby on Rails. O mongrel cluster é para fazermos balanceamento de instâncias.
# gem install mongrel
# gem install mongrel_cluster
Se você "levantar" o script/server, observe que ele carregará o Mongrel.
# mongrel_rails cluster::configure -e production -p 6000 -a 127.0.0.1 -N 5 -c /suaapp
Onde:
# mkdir /etc/mongrel_cluster
# ln -s /suaapp/conf/mongrel_cluster.yml /etc/mongrel_cluster/suaapp.yml
Agora o Apache, muitos admins não sabem o porque dessa interação, bem podemos dizer que o Apache irá administrar o conteúdo estático (imagens,...) da aplicação, fará também o gerenciamento do cluster e fará a segurança, se necessário fazer uma conexão segura (SSL) deveremos fazer também com o apache.
# wget http://apache.rmplc.co.uk/httpd/httpd-2.2.6.tar.gz
# tar xvfz httpd-2.2.3.tar.gz
# cd httpd-2.2.3/
# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=all --enable-deflate --enable-proxy --enable-proxy-balancer --enable-proxy-http
# make
# make install
Crie um link para os módulos na sua pasta de configurações do apache:
# ln -s /usr/local/apache2/modules /usr/local/apache2/conf/modules
Vamos configurar um virtual host para nossa app:
# vi /usr/local/apache2/conf/httpd.conf
Você deve habilitar os seguintes módulos:
Crie um usuário chamado mongrel, necessário para "rodar" o cluster.
# useradd mongrel
Vamos instalar o Mongrel, que é um servidor para aplicações desenvolvidas em Ruby on Rails. O mongrel cluster é para fazermos balanceamento de instâncias.
# gem install mongrel
# gem install mongrel_cluster
Se você "levantar" o script/server, observe que ele carregará o Mongrel.
# mongrel_rails cluster::configure -e production -p 6000 -a 127.0.0.1 -N 5 -c /suaapp
Onde:
- N = número de instâncias;
- e = se produção ou desenvolvimento;
- p = Porta de comunicação;
- c = local onde está sua aplicação.
# mkdir /etc/mongrel_cluster
# ln -s /suaapp/conf/mongrel_cluster.yml /etc/mongrel_cluster/suaapp.yml
Agora o Apache, muitos admins não sabem o porque dessa interação, bem podemos dizer que o Apache irá administrar o conteúdo estático (imagens,...) da aplicação, fará também o gerenciamento do cluster e fará a segurança, se necessário fazer uma conexão segura (SSL) deveremos fazer também com o apache.
# wget http://apache.rmplc.co.uk/httpd/httpd-2.2.6.tar.gz
# tar xvfz httpd-2.2.3.tar.gz
# cd httpd-2.2.3/
# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=all --enable-deflate --enable-proxy --enable-proxy-balancer --enable-proxy-http
# make
# make install
Crie um link para os módulos na sua pasta de configurações do apache:
# ln -s /usr/local/apache2/modules /usr/local/apache2/conf/modules
Vamos configurar um virtual host para nossa app:
# vi /usr/local/apache2/conf/httpd.conf
Você deve habilitar os seguintes módulos:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so