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.
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
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
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
Custom log file locations
ErrorLog ||C:\aplicacion\public||error.log
CustomLog ||C:\aplicacion\public||access.log combined
|
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