NGINX
Aínda que os contidos de NGINX se presenten nesta unidade, traballaremos con NGINX na seguinte unidade con Docker.
NGINX (pronunciado en inglés «ényin-ex») é un servidor web/proxy inverso lixeiro de alto rendemento e un proxy para protocolos de correo electrónico (IMAP/POP3).
É software libre e de código aberto, licenciado baixo a Licencia BSD simplificada, aínda que tamén existe una versión comercial distribuida baixo o nome de NGINX Plus. É multiplataforma, polo que corre en sistemas tipo Unix (GNU/Linux, BSD, Solaris, Mac OS X, etc.) e Windows.
A programación de NGINX estivo a cargo do prograador ruso Igor Sysoev, quen publicaría a súa primeira versión en 2004. Dada a crecente popularidade e proliferación do servidor web, Sysoev crearía, en 2011, NGINX Inc. Desde entón, a empresa comercial é responsable do desenvolvemento do software e ofrece, ademais da versión gratuíta estándar, NGINX Plus, unha versión de pago con servizo de asistencia técnica e funcións adicionais como un servizo de balanceo de carga mellorado.
Características
Desde a creación de NGINX, a atención concentrouse no desenvolvemento dun servidor que se caracterice por un rendemento moi alto: que sirva ao maior número de clientes posible ao mesmo tempo e que, ademais, consuma a menor cantidade de recursos.
Ao igual que Apache Server, NGINX é un software modular. Isto significa que as diferentes características son presentadas en forma de módulos e, como administrador, poden ser activadas ou desactivadas. Como consecuencia, o usuario goza das seguintes características:
- Acelerador de apliacións (application acceleration) axiliza a entrega de contidos.
- Servidor proxy inverso para a aceleración web (HTTP, TCP, UPD) ou como proxy de correo electrónico (IMAP, POP3, SMTP).
- Cifrado TLS para unha transferencia de datos segura.
- Xestión de ancho de banda para un mellor rendemento.
- Balanceo de carga con reorientación de solicitudes para diminuír a carga do servidor.
- Streaming de vídeo para reproducir arquivos en formato MP4 e FLV.
Mentres que Apache abre un novo proceso ou fío para cada solicitude do cliente, NGINX traballa enfocado a eventos. Como consecuencia, pode procesar solicitudes de forma asíncrona, aforrando memoria e espazo.
NGINX ofrece unha documentación oficial do seu funcionamento e de todos os módulos.
Cuota de mercado
De acordo a estatísticas de W3Tech, NGINX é o servidor máis empregado, cun 33% de cuota de mercado. Moi preto temos a Apache Server cun 32%, o cal foi o líder do mercado durante moitos anos.
O feito de que a popularidade de NGINX estea en ascenso ten varias razóns. En primeiro lugar, cabe mencionar que este software para servidores web adáptase de forma óptima ás necesidades actuais de moitos proxectos web. NGINX non só logra excelentes resultados no procesamento dun gran número de solicitudes dos clientes, senón que tamén aproveita eficazmente os recursos. En consecuencia, este software é a solución perfecta á potencia limitada de conexións móbiles, permitindo que os propietarios de páxinas web poidan ofrecer o seu contido a usuarios de dispositivos móbiles o máis rápido posible. Outra das características que favorecen a este proxecto ruso son as súas posibilidades de aplicación, onde ademais da variante clásica de servidor web HTTP, NGINX tamén ofrece bos resultados como servidor proxy de correo electrónico ou como balanceador de carga.
Con todo, NGINX non sempre é a mellor opción como servidor web: a realización de proxectos de aloxamento compartido, no que os recursos do servidor contrólanse mediante áreas protexidas por contrasinais ou redirecciones internas, resulta algo complicada. Ditas seccións e rewrites só poden aplicarse no arquivo de configuración central e só impleméntanse reiniciando o servidor. Como consecuencia, pódense presentar posibles fallos que afectarán por igual a todos os proxectos que comparten o aloxamento. Nesta área, o servidor web Apache ofrece unha gran vantaxe, na medida en que os axustes individuais rexístranse en arquivos .htaccess separados.