Forum: Rails-ES Problema con servidor Windows, XAMPP y Rails

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
6759100dba01c5645247dc9a3bbe47a1?d=identicon&s=25 Juan Ramirez Ordenes (Guest)
on 2008-12-18 21:30
(Received via mailing list)
Hola a todos:

Primero que todo, debo admitir que me incomoda un poco hacer otra
pregunta más, ya que no es mucho lo que aporto en la lista (supongo que
cuando posea conocimientos mas avanzados podré dar soluciones a los
problemas que tengan, pero por el momento debo reconocer que la mayoría
de las preguntas que aqui hacen son avanzadas y mis conocimientos no dan
para tanto).

Bueno, paso a contar mi problema: Necesito correr 2 aplicaciones hechas
en RoR, pero estas deben correr por el puerto 80 (puerto que, además,
está siendo utilizado por XAMPP)

Como alternativa al puerto 80, en el lugar donde esta el servidor,
liberaron un puerto (8080), en el cual puedo echar a correr las
aplicaciones, pero aun asi no sé como correr 2 aplicaciones al mismo
tiempo por este puerto.

El servidor donde deben correr es un Windows 2003 Server y por norma de
la empresa no pueden ser liberados más puertos salvo los ya mencionados
(80, que esta siendo utilizado por  XAMPP y 8080, el cual esta libre en
estos momentos).


Esperando tener una buena acogida, y agradeciendo de antemano se despide

Juan Ramírez Órdenes.
1f2eadfb41362800ebc2cf211b91d0f7?d=identicon&s=25 javier ramirez (Guest)
on 2008-12-18 21:57
(Received via mailing list)
Hola,
> El servidor donde deben correr es un Windows 2003 Server y por norma de
> la empresa no pueden ser liberados más puertos salvo los ya mencionados
> (80, que esta siendo utilizado por  XAMPP y 8080, el cual esta libre en
> estos momentos).
>

las opciones para poder ejecutar aplicaciones en un mismo puerto pasan
por tener un servidor delante que se ocupe de dirigir el tráfico a cada
una de las aplicaciones. Las aplicaciones estarían levantadas cada una
en su puerto no público, probablemente con un mongrel, y tu servidor
tiene que decidir a qué aplicación te manda según algún criterio.

Lo más fácil es tirar  de subdominios. Por ejemplo, podrías hacer que
myappA.tuserver:8080 dirija a la aplicación A y myappB.tuserver:8080
dirija a la B. Para eso puedes poner un apache y definirle diferentes
virtual hosts, uno por dominio. Esto podrías hacerlo incluso en el
apache del XAMPP.

Si no puedes usar subdominios, puedes hacer mod_rewrite de direcciones
dependiendo del path. Puedes hacer que la
direcciónmiservidor:8080/myapp rediriga a A y miservidor:8080/myappB redirija a
B.

Otra opción es levantar directamente la aplicación con jruby+glassfish y
utilizar los contextos que te da glassfish corriendo cada aplicación en
uno de los contextos. Esta opción es la que está probablemente menos
documentada, así que es posible que no la quieras explorar, pero ahí está ;)

De todos modos, no soy experto en sistemas, así que seguro que hay otras
formas de hacer esto que se me han pasado.

suerte,

--
javier ramírez

..i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
..you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez
1e0fce0b6a4bc9b682b67b4d7b43b17b?d=identicon&s=25 Rafael García (rafa)
on 2008-12-18 22:17
(Received via mailing list)
Attachment: rgo.vcf (242 Bytes)
Puedes cargar mongrel y configurarte un vhost en apache. Y luego hacer
que todas las peticiones que vayan a aplicacion.servidor.org(por poner
algo) se envíen a los mongrels.
Lo de como cargar mongrel está explicado en su web, así que no creo
necesario explicarlo.
La configuración del vhost de apache sería algo así:

|<VirtualHost *:80>
  ServerName aplicacion.servidor.org

  DocumentRoot C:\aplicacion\public

  RewriteEngine On

  <Proxy balancer://mongrelcluster>
    BalancerMember http://127.0.0.1:3000
    BalancerMember http://127.0.0.1:3001
  </Proxy>

  # Redirect all non-static requests to Mongrel
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
  RewriteRule ^/(.*)$ balancer://mongrelcluster%{REQUEST_URI} [P,QSA,L]

  ProxyPass / balancer://mongrelcluster/
  ProxyPassReverse / balancer://mongrelcluster/
  ProxyPreserveHost on

  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

  # Custom log file locations
  ErrorLog  ||C:\aplicacion\public|\|error.log
  CustomLog ||C:\aplicacion\public|\|access.log combined


</VirtualHost>|


Esto no está probado en windows pero creo que debería funcionarte con
XAMPP (suponiendo que la versión de apache no sea muy antigua).

Saludos
This topic is locked and can not be replied to.