manifiesto
Artículos
Preguntas frecuentes
Recursos RoR
Noticias
Descargas
Sandbox
Sitio oficial de ruby
Suscribirse a rubylit
Yo uso GNU/Linux Debian así que me voy a basar en tal SO.
Vamos a suponer que tenemos una app ror, por ejemplo
instiki que está en el directorio: /var/www/apps/instiki
Y además tenemos un sitio estático en /var/www/site-personal (puede ser una simple web de con nuestro portfolio por ej. como es mi caso) y que queremos que esté disponible.
Para esto vamos a configurar un server virtual para nuestro
sitio personal, y las demas peticiones las redirigimos al mongrel, al menos por ahora.
El plan es el siguiente:
Entonces esta es la estructura a configurar más o menos:
Nginx (escucha en el port 80) y sirve a http://mi-site-personal.com
Nginx frontend para nuetro Mongrel
Mongrel (escucha en el port 8000 y 8001)y sirve a http://wiki.otro-site.com
Instalamos el Nginx:
apt-get install nginx
Preparamos Nginx para servir nuestro sitio personal:
Para esto vamos a crear un server virtual, http://mi-site-personal.com
(por supuesto que vos debés disponer del dominio)
En este caso Nginx actuará como web server.
Editamos el archivo de configuración de Nginx
emacs /etc/nginx/nginx.conf
y agregamos lo siguiente en la sección http{ }:
Agrego el virtual server para mi el sitio de mi portfolio personal.
http{
# acá están las demás opciones ....
server {
listen 80;
server_name mi-site-personal.com;
location / {
root /var/www/site-personal;
index index.html index.htm;
}
}
Ahora reiniciamos el nginx:
/etc/init.d/nginx restart
después de esto si todo salió bien, ejecutamos nuestro
browser de preferencia y ponemos la url http://mi-site-personal.com y deberíamos ver nuestro sitio.
Instalar mongrel y mongrel cluster
Instalamos mongrel como gema:
gem install mongrel --include-dependencies
Instalamos mongrel_cluster como gema:
gem install mongrel_cluster --include-dependencies
Enlace para que arranque con la maquina (Debian):
ln -s \
/usr/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.2/resources/mongrel_cluster \
/etc/init.d/mongrel_cluster
chmod +x /etc/init.d/mongrel_cluster
/usr/sbin/update-rc.d mongrel_cluster defaults
Ahora vamos a configurar nuestro mongrel_cluster primero creamos el directorio para las configuraciones:
mkdir /etc/mongrel_cluster
Ahora, al momento en que bootee el mongrel cluster buscará en este directorio todos los archivos de configurarción .yml, entonces vamos a crearun link simbólico al archivo de configuración de nuestro app ror (instiki en este caso):
ln -s /var/www/apps/instiki/config/mongrel_cluster.yml \ mi_instiki.yml
Este archivo de configuración será como este:
--- cwd: /var/www/apps/instiki port: 6500 environment: production group: www-data user: www-data pid_file: log/mongrel.pid servers: 3
Esto quiere decir que va a ejecutar 3 instancias
de mongrel para servir a instiki, comenzando desde el puerto 6500, luego 6501 y 6502 respectivamente.
Referencias: