El otro día me había puesto a hacer algunos experimentos con el tema de Proxy en Apache, y me di cuenta que la verdad era medio complicado conseguir cosas interesantes.
Como soy compañero de uno de los difusores mas importantes de lighthttpd en Argentina (Martin Sarsale), me puse a investigar este tema de Proxy en lighthttpd.
La verdad, es que es increíble los simple y rápido de implementar, y las posbilidades que tiene.
Primero que nada, vamos a explicar un poco lo que yo puntualmente tenia que resolver, y como lo hice.
Tengo un Server que tiene millones de fotos y videos en formato flv, y muchos js y css, mas el apache con PHP.
Por otro lado, tengo un servidor con MySQL.
El problema radica en que cada vez que se solicitaba una imagen (el sitio muestra galerías de imágenes) se instanciaban muchos procesos de apache que ocupaban sus buenos MB en RAM. Esto generaba que cuando había 100 usuarios concurrentes, todo se caiga pero mal.
Bien, la solución que se me ocurrió fue poner un servidor mas con todo el contenido estático. Implemente el lighthttpd, y la verdad es que el contenido se servia de maravilla, era muy rápido, y re livianito.
El tema estaba ahora en que, no podía ir a cambiar todas las referencias de imágenes, js, css y videos a una nueva URL (onda static.server.com que apuntaría al nuevo Server) por que había mucho hardcode.
La solución que encontré fue simple, en el servidor con Apache y PHP, instale un lighthttpd en el port 80, mande el Apache al 8080, y aplique estas pequeñas líneas de config:
proxy.server = ( ".php" =>
( (
"host" => "127.0.0.1",
"port" => 8080
) ),
".css" =>
( (
"host" => "192.168.1.50",
"port" => 80
) ),
".gif" =>
( (
"host" => "192.168.1.50",
"port" => 80
) ),
".jpg" =>
( (
"host" => "192.168.1.50",
"port" => 80
) ),
".flv" =>
( (
"host" => "192.168.1.50",
"port" => 80
) ),
".js" =>
( (
"host" => "192.168.1.50",
"port" => 80
) )
)
Creo que es bastante entendible como funciona esto.
No quiero explicar cosas de mas, ni ponerme en detalles, solo quiero presentarles una mínima idea de las cosas que se pueden hacer fácilmente con lighthttpd.
Saludos.
1 comentario:
Muy bueno, che!
No sabía que era tan facil.
La verdad que muy interesante el ejemplo. Lo voy a compartir a ver si en una de esas lo puedo implementar en algún lado.
Gracias!
Publicar un comentario