apache y nginx

Upload: katherine-perez

Post on 04-Feb-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/21/2019 Apache y Nginx

    1/8

    NGINX

    Desde hace mucho tiempo cuando nos hemos encontrado en la necesidad de

    un servidor HTTP, la primera solucin que nos venia a la cabeza era Apache;

    sin embargo los tiempos han cambiado, las exigencias de los desarrolladores y

    clientes han incrementado y el uso de este antiguo gigante ha venido

    disminuyendo cada vez mas, esta semana hablaremos de su mayor

    contendiente, ginx!

    Qu es Nginx?

    "ealmente pronunciando #engine$x% &no #enyinx%', es un servidor HTTP, proxy

    en reversa, balanceador de carga y proxy de correo electrnico, basado en el

    concepto del cdigo abierto! (n)ocado en una arquitectura de mane*o de

    eventos as+ncronos en lugar de hilos o threads es reconocido por su alto

    desempeo, ba*o consumo de recursos, estabilidad, escalabilidad ycon-guracin sencilla!

    .e estima que m/s del 012 de los sitios en internet est/n servidos o proxiados

    por ginx, entre ellos podemos mencionar algunos de gran relevancia que

    seguro conocer/s como 3itHub, 4ordPress!com, et5ix, Hero6u, .ound7loud y

    muchos m/s!

    Nginx vs. Apache

    8encionemos algunas caracter+sticas que ilustrar/n las venta*as que o)rece

    ginx en contraste con el servidor 9eb m/s conocido en el mercado!

    8ane*o de concurrencia de entre 1 y : veces mayor!

    .ervicio de recursos est/ticos de hasta

  • 7/21/2019 Apache y Nginx

    2/8

    *uegos en l+nea 8ochi 8edia, la cual que manten+a sus servidores ba*o ginx y

    reeC.D!

    Al no tener que crear nuevos procesos en la creacin de hilos, el consumo de

    memoria es signi-cativamente ba*o, tan ba*o como a merced del alto tra-co de

    varios cientos de peticiones por segundo en un slo servidor, el consumo es de

    unos 08C de "A8 y 0

  • 7/21/2019 Apache y Nginx

    3/8

    Para 4DB4. no se debe esperar altos niveles rendimiento ni altos niveles de

    concurrencia debido a que existen varios problemas y con5ictos conocidos, el

    )uncionamiento de ginx en 4indo9s se considera en estado beta!

    Iuego descomprimiremos el archivo que descargamos en el disco 7 y usando la

    consola navegaremos al nuevo directorio para iniciar el proceso>

    0 c>J cd nginx$0!1!= &enter'

  • 7/21/2019 Apache y Nginx

    4/8

    = c>Jnginx$0!1!=Kstart nginx &enter'

    Prueba

    Iuego de haber instalado e iniciado ginx, probemos que e)ectivamente sirve

    dirigiLndonos a la direccin 9eb donde )ue instalado &si estamos instalando

    localmente ser/ localhost' y especi-cando el puerto por de)ecto de instalacin

    &en B. M, Homebre9 durante la instalacin debi indicarlo, suele ser :dem/s suelen establecerlo directamente en el :

  • 7/21/2019 Apache y Nginx

    5/8

    Puede que haya con5ictos con el puerto si tienes instalado otro servidor 9eb

    como Apache que se encuentre en )uncionamiento y escuchando el mismopuerto, esto lo solucionaremos m/s adelante en la con-guracin!

    7on-guracin

    Cien, ahora que sabemos que nuestro servidor )unciona conozcamos algunos

    aspectos de la con-guracin de ginx, para esto debemos abrir el archivo que

    la contiene!

    directorioNdondeNdescomprimimosNnginxJcon)Jnginx

    Podremos notar que la estructura del archivo es bastante intuitiva, veamos

    algunos datos b/sicos!

    Para iniciar, cada host virtual est/ delimitado de la siguiente manera>

    123

    server { ...}

    Dentro de cada host podremos especi-car cosas como>

    $(l puerto donde escucha ginx y el nombre del host>

  • 7/21/2019 Apache y Nginx

    6/8

    1234

    ...listen 80;server_name dominio.com;...

    $ (l directorio ra+z del servidor y nombres de los archivos index>

    1234

    root /Users/jonathanwiesel/www;inde inde.html inde.htm;...

    $ Ebicaciones, estas nos sirven para delimitar di)erentes comportamientos para

    cada /rea espec+-ca del servidor, ginx siempre tratar/ de buscar la ubicacin

    m/s especi-ca, de lo contrario recurrir/ a la ubicacin por de)ecto G>

    123

    location ! "/#oro/$%&.'() { ret*rn 301 )scheme+//#oro.dominio.com/)1;}

    (n este caso cualquier ubicacin que tenga el su-*o G)oro ser/ trans)erida alsubdominio )oro!dominio!com!

    En e*emplo de caching de im/genes bastante Ftil>

    123

    location !' ,.$js-css-n-j-je-i#-ico() { eires 30d;}

    (sto le indicar/ al explorador del cliente que debe mantener en cache por

    12348101112131411118120212223

    location ! ,.h) { #astci_ass localhost+000;

    #astci_aram U567_96:< )=*er>_strin; #astci_aram 65U59_?59@AB )re=*est_method; #astci_aram CA959_97&5 )content_t>e; #astci_aram CA959_D5

    12348

    101112131411

    server { listen 443; server_name localhost;

    root html; inde inde.html inde.htm;

    ssl on;

    ssl_certi#icate cert.em; ssl_certi#icate_He> cert.He>;

    ssl_session_timeo*t m;

    ssl_rotocols Dv3 9Dv1; ssl_cihers EDD+IEB@+I5J&A69+6C4K6E+K@:

  • 7/21/2019 Apache y Nginx

    8/8

    118

    ssl_re#er_server_cihers on; }

    Proxies en reversa a Apache &cortes+a de nix7ra)t'>

    1234810

    111213141

    1118120

    21222324

    *stream aacheh { server 12.18.1.11+80;}server { listen 202.4.1.1+80; server_name www.dominio.com; access_lo /var/lo/nin/lo/www.dominio.access.lo main; error_lo /var/lo/nin/lo/www.dominio.error.lo; root /*sr/share/nin/html;

    inde inde.html inde.htm; MM mandamos la eticiNn a aache MM location / { ro>_ass htt+//aacheh; ro>_net_*stream error timeo*t invalid_header htt_00 htt_02 htt_03htt_04; ro>_redirect o##; ro>_O*##erin o##; ro>_set_header @ost )host; ro>_set_header JP6ealP:& )remote_addr; ro>_set_header JPForwardedPFor )ro>_add__#orwarded_#or;

    }}

    Conclusin

    ginx es una herramienta muy poderosa, capaz de muchas cosas

    impresionantes y sin apoderarse de tu presupuesto en hard9are! 7iertamente

    no es el Fnico que desea destronar a Apache, Iighttpd es una buena solucin a

    considerar, lo importante es probar otras opciones y no quedarnos con lo queconocemos y nos sentimos cmodos ya que experimentando es la manera que

    podemos determinar con propiedad quL es lo bene-cioso para nosotros!