Instant Ruby on Rails, Apache y Fast CGI (FCGI) vs Simple CGI (SCGI)
Publicado por Aníbal Rojas 17 Octubre 2005 en Rails, Ruby. english • españolCuando se empieza a experimentar con Ruby on Rails, la primera opción es utilizar como servidor web WEBrick que es un servidor HTTP hecho en Ruby, y que desde la versión 1.8 de Ruby es parte de las librerías estándares del lenguaje.
En principio WEBrick debería poder ser utilizado sin problema para efectos de desarrollo, lo malo es que (al menos en Windows) se clava con frecuencia. Buscando alternativas (para WEBrick no para Windows lamentablemente) a la primera uno descarta Apache con CGI, es absurdamente lento.
La siguiente opción “natural” (por llamarla de alguna forma) es Apache con FastCGI. Bajo Windows funciona mejor que WEBrick pero regularmente termina por clavar la aplicación con el obstinante mensaje: Rails application failed to start properly.
Uno se lo cala porque Ruby es un espectáculo de lenguaje, Rails es el santo grial de los frameworks (particularmente cuando vienes de las implementaciones de MVC para Java/J2EE) y decides que desarollar bajo Windows es un “peor es nada” como decimos en Venezuela.
Total que buscando alternativas, uno empieza a oir sobre Simple CGI (SCGI) como alternativa a FCGI y en particular sobre Instant Rails (for Windows) con su extraña y rosada interfaz . Si Rails fue lo mejor que le pasó a Ruby, Instant Rails es lo mejor que le ha pasado a Rails para aquellos que necesitamos coexistir con un ambiente de desarrollo bajo Windows.
El zip del Instant Rails 1.0 preview2 Released incluye Ruby, con el Gem de Rails, Apache y MySQL (phpMyAdmin) y PHP, en un estilo similar a lo que el XAAMP (Apache Friends) hace con los lenguajes Perl y PHP.
El Instant Rails sólo requiere descomprimir el zip, y después ejecutar el InstantRails.exe que permite arrancar y parar Apache y MySQL, acceder a phpMyAdmin y administrar las aplicaciones rails que se encuentran bajo el directorio rails_apps. Cada vez que se ejecuta el exe este verifica la ubicación del directorio y ajusta los caminos de los archivos.
La configuración de las aplicaciones es algo tan prosaico como lanzar el notepad (!Yuck!) con los archivos httpd.conf, etc/hosts y start_scgi.cmd (que se genera en la raiz de la aplicación) pero funciona. Adicionalmente se genera el script script/scgi_rails.
A pesar de lo extraño de la interfaz, el dropdown (desde el que se hace prácticamente todo) es un “botón” con la letra “I” a la izquierda de la “ventana” principal, el “paquete” funciona y permite un arranque rápido para Ruby on Rails bajo Windows, y la combinación de Apache y SCGI funciona como una seda.
Has probado ruby on rails en linux?, es mas estable?
Sí, y pensamos seguir probándolo en Linux con carga “interesante” de usuarios. En principio *nix es el ambiente natural por lo que hemos visto, nosotros porque estamos “amarrados” en alguna medida a que nuestro ambiente de desarrollo debe cohexistir con Windows y nos interesa tener opciones para la mayor cantidad de ambientes posibles.
Que bien, este blog de discución.
Yo uso Rails sobre ligthttpd en OpenBSD ! creo que le va bien, al menos es lo mejor que he visto, Apache no me funciono bien, aun con FCGI habilitado. Yo recomiendo usar todo Rails sobre ligthttpd, es bueno, funciona de lujo.
Saludos.
Hola!
He instalado Instant Rails para mi aplicación y funciona muy muy lento. No se cual podría ser el problema… Alguna sugerencia??
Muchas gracias!
Sin más información es difícil saberlo, pero asegúrate de que estás coriendolo vía FastCGI y recuerda que el modo Development es más lento que el de producción, de cualquier manera sería buena idea que le dieras un vistazo a los logs.
Hola de nuevo.
He probado a hacer correr mi aplicación sobre lighttpd y va como las balas… Y de forma muy sencilla. Aqui os dejo este link que os puede interesar por si lo quereis probar…
http://wiki.rubyonrails.org/rails/pages/HowToDeployWithLighttpdOnWindows/versions/7
Un saludo!
Hola.
Mi inquietud es la siguiente: como debo hacer la configuración de InstantRails si ya tengo preinstalado MySQL 5.1, Apache 2.2.6 y PHP 5.2.5, es decir, no deseo usar el Php, MySql y Apache que viene on InstantRails?
Gracias.
Сайты о кошек подскажите.
http://www.oweek.arc.unsw.edu.au/forums/viewtopic.php?f=88&t=3194