Webrick


#1

Mi pregunta es la siguiente:
tengo dos proyectos realizados en rails(activos y titulos),bueno la cosa
es que necesito que ambos se ejecuten al mismo tiempo. Es decir cuando
necesito correr uno, ingreso al directorio del proyecto(cd activos),
luego inicializo el servidor(ruby script/server) y listo la aplicacion
esta corriendo. Pero cuando realizo lo mismo para el otro proyecto(cd
titulos) y luego (ruby script/server), no puede hacerlo.¿Como puedo
hacer para que ambos proyecto corrar en Webrick al mismo tiempo?.
O tal vez necesito correrlas con otro servidor(¿tal vez apache?). Espero
que puedan ayudarme.


#2

Me parece que podrías hacer asi

script/server (para el primer proyecto)

script/server -p 4000 (para el segundo)

obviamente la primer app sería accesible a través de
http://localhost:3000 y
la segunda a través de http://localhost:4000

2009/2/11 Rolando R. removed_email_address@domain.invalid


#3

Rolando,

el problema es que no puedes tener dos servidores escuchando en el
mismo puerto, en el caso de rails, por defecto escucha en el puerto
3000, por lo que deberias arrancar uno en el puerto 3000 y el segundo
en otro puerto distinto, (por ejemplo, el 3001), para esto, basta con
pasarle el parámetro al script/server, en el ejemplo:

script/server --port 3001

P.D.: Esta no es una limitación de rails, sino del propio sistema TCP/
IP, vamos que tampoco puedes tener dos apaches escuchando en el puerto
80, etc…

Saludos,

Isaac Feliu


#4

Si no me equivoco estas queriendo levantar dos servidores sobre el mismo
puerto (:3000) tendrias que confirugar uno de los dos en otro puerto,
sino
configurar apache para que te tome las aplicaciones rails.

2009/2/11 Rolando R. removed_email_address@domain.invalid


#5

Hola,

Por defecto, al arrancar webrick con script/server siempre lo hace en el
puerto 3000. Si tienes ya uno corriendo, no puedes arrancar otro. Para
hacerlo, le tienes que indicar al segundo que se encienda en otro
puerto, es
decir script/console -p 3001

Saludos

2009/2/11 Rolando R. removed_email_address@domain.invalid


#6

Bueno, claro que si, ahora ya no tengo esta duda, les agradesco a todos
por la respuesta.


#7

Tambien puedes añadir lo siguiente a uno de los dos:

default_port = 3001

if RAILS_ENV=‘development’
ARGV << “-p#{default_port}” unless ARGV.to_s.include?("-p")
end

justo antes del primer require

2009/2/12 Rolando R. removed_email_address@domain.invalid