Diferencia App Servers y Web servers

372 views
Skip to first unread message

Diego Maximiliano

unread,
Oct 20, 2014, 1:09:45 PM10/20/14
to rub...@googlegroups.com

Hola como están? Quizá mi duda sea de newbie o también ya la respondieron,pero me encontré con esta duda al pretender hacer un deploy a Heroku con un proyecto sinatra:

¿cual es la diferencia entre los app servers (sea Puma,Mongrel,Thin o Passenger) y los web servers (Apache o Nginx)

Por lo que ví ambos aceptan request http y algunos artículos indican a los app servers como web servers y ahí me empieza la confusión.

Estuve leyendo esto:

https://www.digitalocean.com/community/tutorials/how-to-deploy-sinatra-based-ruby-web-applications-on-ubuntu-13

Pero para resumir mi duda:

¿Puedo tener en producción una app corriendo con un app server sin necesitar de Apache o Ngnix?

¿Porque se usan los dos en conjunto por ejemplo Unicorn + Nginx? Sé que Ngnix se puede usar como Proxy

Si necesito usar un web server,también necesito tener obligadamente un app server?


Saludos!

Eloy Espinaco

unread,
Oct 20, 2014, 1:45:03 PM10/20/14
to rub...@googlegroups.com
Hasta donde entiendo, un app server está preparado para servir
contenido dinámico (o sea una aplicación), mientras que un
web-server, se dedica más al contenido estático.

La cuestión es que los app server son más lentos, entonces lo que se
hace es poner un web-server, que cuando no encuentra un archivo lo
redirige al app-server.

Saludos

--- Eloy

-------

On 10/20/2014 02:09 PM, Diego Maximiliano wrote:
> uedo tener en producción una app corriendo con un app server sin
> necesitar de Apache o Ngnix?¿Porque se usan los dos en conjunto por ejemplo
> Unicorn + Nginx? Sé que Ngnix se puede usar como ProxySi necesito usar un

Dario Seminara

unread,
Oct 20, 2014, 2:21:55 PM10/20/14
to rub...@googlegroups.com
Por ahi queda claro si pensas en el stack a grandes rasgos, tenes:

-----------------
Web Framework (ej: Ruby on Rails, Sinatra, Cuba, etc...)
-----------------
RACK
-----------------
App Server (Puma, Mongrel, Thin, Passenger) o Web Server con mod_rack (Apache, Nginx)
-----------------

El web server es el servicio del sistema que abre un puerto y recibe los requests http, los procesa de acuerdo a los modulos que tenga configurado (por ej, podes usar mod_php y servir scripts php), los app servers hace lo mismo, pero esta diseniado para correr apps basadas en Rack y mas pensado para facilitar el desarrollo del app en entornos de desarrollo

¿Puedo tener en producción una app corriendo con un app server sin necesitar de Apache o Ngnix?
Si, podes poner en modo production el app y correrla con un app server, si conviene o no es otro tema


¿Porque se usan los dos en conjunto por ejemplo Unicorn + Nginx? Sé que Ngnix se puede usar como Proxy
Esta no te se responder muy bien, creo que apunta a explotar las ventajas del app server, haciendo que el web server solo sea proxy de los requests, creo q es por ej cuando queres poner una ruta en apache o en nginx que de a un app rails, pero no queres usar passenger, queres usar otro app server


Si necesito usar un web server,también necesito tener obligadamente un app server?
No, por ej si usas Apache , usas Passenger y no implica tener que usar un app server (esos lo soles usar en entornos de desarrollo, para facilitarte correr el app cuando desarrollas)

Martin Ramos Mejía

unread,
Oct 21, 2014, 5:44:54 PM10/21/14
to rub...@googlegroups.com, rub...@googlegroups.com
En relación al uso o no de un web server en conjunto con un application server (como el escenario que describis del nginx como proxy), en mi experiencia es recomendable dado que el webserver tiene un manejo mas robusto del protocolo http en relación al application server.

—<br>Enviado desde <a href="https://www.dropbox.com/mailbox">Mailbox</a>

On Monday Oct 20, 2014 at 3:21 PM, Dario Seminara <dar...@gmail.com>, wrote:

Por ahi queda claro si pensas en el *stack *a grandes rasgos, tenes:

-----------------
Web Framework (ej: Ruby on Rails, Sinatra, Cuba, etc...)
-----------------
RACK
-----------------
App Server (Puma, Mongrel, Thin, Passenger) o Web Server con mod_rack
(Apache, Nginx)
-----------------

El web server es el servicio del sistema que abre un puerto y recibe los
requests http, los procesa de acuerdo a los modulos que tenga configurado
(por ej, podes usar mod_php y servir scripts php), los app servers hace lo
mismo, pero esta diseniado para correr apps basadas en Rack y mas pensado
para facilitar el desarrollo del app en entornos de desarrollo

*¿Puedo tener en producción una app corriendo con un app server sin
necesitar de Apache o Ngnix?*
Si, podes poner en modo *production *el app y correrla con un app server,
si conviene o no es otro tema

*¿Porque se usan los dos en conjunto por ejemplo Unicorn + Nginx? Sé que
Ngnix se puede usar como Proxy*
Esta no te se responder muy bien, creo que apunta a explotar las ventajas
del app server, haciendo que el web server solo sea proxy de los requests,
creo q es por ej cuando queres poner una ruta en apache o en nginx que de a
un app rails, pero no queres usar passenger, queres usar otro app server

*Si necesito usar un web server,también necesito tener obligadamente un app
server?*
No, por ej si usas *Apache *, usas Passenger y no implica tener que usar un
app server (esos lo soles usar en entornos de desarrollo, para facilitarte
correr el app cuando desarrollas)


El lunes, 20 de octubre de 2014 14:09:45 UTC-3, Diego Maximiliano escribió:
>
>
> Hola como están? Quizá mi duda sea de newbie o también ya la
> respondieron,pero me encontré con esta duda al pretender hacer un deploy a
> Heroku con un proyecto sinatra:
>
> ¿cual es la diferencia entre los app servers (sea Puma,Mongrel,Thin o
> Passenger) y los web servers (Apache o Nginx)
>
> Por lo que ví ambos aceptan request http y algunos artículos indican a los
> app servers como web servers y ahí me empieza la confusión.
>
> Estuve leyendo esto:
>
>
> https://www.digitalocean.com/community/tutorials/how-to-deploy-sinatra-based-ruby-web-applications-on-ubuntu-13
>
> Pero para resumir mi duda:
>
>
>
>
>
>
> *¿Puedo tener en producción una app corriendo con un app server sin
> necesitar de Apache o Ngnix?¿Porque se usan los dos en conjunto por ejemplo
> Unicorn + Nginx? Sé que Ngnix se puede usar como ProxySi necesito usar un
> web server,también necesito tener obligadamente un app server?*
>
> Saludos!
>

--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+u...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages