ruby-on-rails - deploy - ruby on rails install debian
¿Cómo configuro Apache 2.2 para Ruby on Rails en Windows? (5)
Intento comenzar a escribir algunas aplicaciones de Ruby on Rails y he tenido éxito con Mongrel, pero me gustaría implementar mis aplicaciones en mi instancia de Apache 2.2 en Windows. Todos los tutoriales que he encontrado parecen desactualizados y corresponden a versiones anteriores de Apache / Rails.
¿Alguien sabe de un buen tutorial actual para configurar Apache 2.2 para las aplicaciones de Ruby on Rails?
EDITAR: Al menos hasta que haya un Phusion Passenger for Win, Apache + Mongrel es el camino a seguir. Puede usar Apache + FastCGI sin Mongrel, pero bajo cargas reales obtendrá (más) procesos zombies y (más) pérdidas de memoria.
También puede ver el proxy a Delgado de la misma manera que se detalla a continuación. Sin embargo, he tenido algunas inestabilidades con Thin on Win, aunque es considerablemente más rápido. AB (Apache Benchmark) es tu amigo aquí!
La configuración de Apache + Mongrel en Windows no es significativamente diferente de * nix.
Básicamente, necesita enviar solicitudes de proxy que entren en Apache a Mongrel. A lo que se reduce esto es a algo como esto:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<VirtualHost localhost:80>
ServerName www.myapp.comm
DocumentRoot "C:/web/myapp/public"
ProxyPass / http://www.myapp.com:3000/
ProxyPassReverse / http://www.myapp.com:3000/
ProxyPreserveHost On
</VirtualHost>
Pegue esto en su httpd.conf
(o httpd-vhost.conf
si lo está incluyendo).
Asume que vas a ejecutar mongrel en el puerto 3000, tu raíz de Rails está en C:/web/myapp
, y accederás a la aplicación en www.myapp.com.
Para ejecutar la aplicación de rieles en modo de producción:
mongrel_rails start -p 3000 -e production
Y listo (en realidad, mongrel se configura de manera predeterminada en el puerto 3000 para que pueda omitir -p 3000
si lo desea).
La principal diferencia es que no se puede demonizar al mestizo en Windows (es decir, hacer que se ejecute en segundo plano). En su lugar, puede instalarlo como un servicio utilizando la gema mongrel_service
.
Además, ejecutar un clúster es más complicado y no podrás usar Capistrano. Hazme saber si quieres más información.
Soy nuevo en RoR y he estado intentando lo mismo en Windows Server 2008, aquí hay algunas notas adicionales sobre cómo hacer que mongrel funcione como un servicio:
si obtiene errores de compilación al instalar mongrel_service:
gem install mongrel_service
Intenta usar un binario especificando tu plataforma:
gem install mongrel_service --platform x86-mswin32
Además, para instalar realmente el servicio necesita ejecutar este comando en el directorio de su aplicación RoR:
mongrel_rails service::install --name MyApp -e production -p 3001 -a 0.0.0.0
(o para eliminar:
mongrel_rails service::remove --name MyApp
)
Entonces debería poder iniciar / detener la aplicación "MyApp" en su panel de control de servicios de Windows.
Espero que ayude a alguien.
Por el momento, Mongrel no funciona correctamente con Ruby 1.9 y lanzará un error "msvcrt-ruby18.dll not found" al ejecutar el comando mongrel_rails.
Delgado en este caso parece ser la única opción por ahora.
Es posible que desee probar Bitnami RubyStack
Solo quería agregar este artículo a la lista. Explica cómo hacer que Apache sirva archivos ruby sin la necesidad de instalar ninguna otra aplicación.