Este es un artículo que forma parte de un grupo de artículos para aprender a configurar un servidor web que te pueden interesar.
Instalemos Mongrel [Web oficial de Mongrel] (que es una gema, osea que simple):
sudo gem instal mongrel
Nos instalará alguna otra gema necesaria si no la tenemos ya instalada.
Mongrel tiene 3 instrucciones básicas (start, stop y restart), pero se puede combinar con muchos parámetros; por ejemplo, si queremos lanzar un Mongrel escuchando en el puerto 6000, y que esté en el entorno de producción:
mongrel_rails start -e production -p 6000 -d
El «-d» del final es para lanzarlo como demonio, vamos que se queda como un proceso que no te molesta en tu terminal, y que no se muere cuando cierras el terminal.
El comando hay que lanzarlo desde la raiz de tu aplicación, «rails directory».
Vamos a ir un poco más lejos instalando un cluster de Mongrels, que son un grupo de Mongrels que funcionan en común.
Primero instalamos:
sudo gem install mongrel_cluster
Para lanzar un cluster de 2 Mongrels empezando en el puerto 8000, sería algo así:
mongrel_rails cluster::configure -e production -p 8000 -N 2 -c /home/demo/public_html/testapp -a 127.0.0.1
OJO: La ruta completa y si queréis mas ayuda «mongrel_rails cluster::configure -h»
El comando genera un archivo en formato YAML, que puedes configurar a tu gusto si no quieres lanzarlo otra vez. El fichero queda algo como esto:
cwd: /home/demo/public_html/testapp log_file: log/mongrel.log port: "8000" environment: production address: 127.0.0.1 pid_file: tmp/pids/mongrel.pid servers: 2
Para iniciar, parar o reiniciar el cluster, desde la raiz de la aplicación:
mongrel_rails cluster::start ... o ... mongrel_rails cluster::restart ... o ... mongrel_rails cluster::stop
Vamos a crear un script de inicio para que se lance el cluster cuando reiniciamos el servidor:
Primero, creamos un enlace: (uno por cada aplicación que tengamos instalada)
sudo mkdir /etc/mongrel_cluster sudo ln -s /home/demo/public_html/testapp/config/mongrel_cluster.yml /etc/mongrel_cluster/testapp.yml
Ahora, copiamos el script de inicio de la gema en init.d, lo hacemos ejecutable y le aplicamos el runlevel:
sudo cp /usr/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.5/resources/mongrel_cluster /etc/init.d/ sudo chmod +x /etc/init.d/mongrel_cluster sudo /usr/sbin/update-rc.d -f mongrel_cluster defaults
Debe ser más fácil con «thin» o «mod_rails», pero los tengo en mi lista de TO-DO 🙂
Entonces, ahora, para iniciar, parar o reiniciar:
mongrel_cluster_ctl start ... mongrel_cluster_ctl stop ... mongrel_cluster_ctl restart
Y para ver si está todo ok:
mongrel_cluster_ctl status
Lo que nos da algo como:
Checking all mongrel_clusters... mongrel_rails cluster::status -C testapp.yml found pid_file: tmp/pids/mongrel.8000.pid found mongrel_rails: port 8000, pid 2343 found pid_file: tmp/pids/mongrel.8001.pid found mongrel_rails: port 8001, pid 2346
Capítulo anterior: Capitulo III: Instalar Ruby on Rails
Siguiente capítulo: Capitulo V: Apache y PHP
Deja una respuesta