En un artículo anterior vimos cómo instalar el servidor HTTP Apache, como también sus archivos de configuración. En este artículo revisaremos las características principales de Nginx – mucho más que un servidor web alternativo a Apache – e instalaremos el software en Ubuntu 15.04.
¿Qué es Nginx?
Es un servidor web con un fuerte foco en alta concurrencia, rendimiento y bajo consumo de memoria. También es un proxy reverso para los protocolos HTTP, HTTPS, SMTP, POP3 e IMAP. Adicionalmente es un balanceador de carga y caché de HTTP.
Ha sido usado en sitios importantes como WordPress, Netflix, Hulu y algunas partes de Facebook. Es una herramienta muy útil para servidores que van a soportar altas cargas de trabajo y servidores de hosting. Está licenciado bajo Licencia BSD simplificada.
Características básicas del servidor http
- Tiene la capacidad para manejar más de 10.000 conexiones simultáneas con un consumo bajo de memoria.
- Manejo de archivos estáticos, archivos de índice y autoindexado.
- Proxy reverso con caché.
- Balanceo de carga.
- Tolerancia a fallos.
- Soporte de TLS/SSL.
- Soporte de FastCGI, SCGI y uWSGI con caché.
- Servidores virtuales basados en nombre y en IP.
- Compatible con IPv6.
- Soporte de WebSockets y HTTP/1.1.
- Streaming de FLV y MP4.
- Autenticación en páginas web.
- Compresión y descompresión de gzip.
- Reescritura de URL.
- Límite de conexiones concurrentes.
- Límite del ancho de banda.
- Soporte de Server Side Includes.
- Soporte de WebDAV.
- Soporte de Perl embebido.
- Características del proxy de Mail
- Soporte de TLS/SSL.
- Soporte de STARTTLS.
- Soporte de SMTP, POP3 y proxy IMAP.
Instalación
Instalar nginx es tan fácil como hacer lo siguiente:
luis@starseed:~$ sudo apt-get install nginx
[sudo] password for luis:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes extras:
nginx-common nginx-core
Paquetes sugeridos:
fcgiwrap nginx-doc
Se instalarán los siguientes paquetes NUEVOS:
nginx nginx-common nginx-core
0 actualizados, 3 nuevos se instalarán, 0 para eliminar y 6 no actualizados.
Se necesita descargar 386 kB de archivos.
Se utilizarán 1.329 kB de espacio de disco adicional después de esta operación.
¿Desea continuar? [S/n] s
Des:1 http://archive.ubuntu.com/ubuntu/ vivid-updates/main nginx-common all 1.6.2-5ubuntu3.1 [20,5 kB]
Des:2 http://archive.ubuntu.com/ubuntu/ vivid-updates/main nginx-core amd64 1.6.2-5ubuntu3.1 [362 kB]
Des:3 http://archive.ubuntu.com/ubuntu/ vivid-updates/main nginx all 1.6.2-5ubuntu3.1 [3.550 B]
Descargados 386 kB en 2s (182 kB/s)
Seleccionando el paquete nginx-common previamente no seleccionado.
(Leyendo la base de datos ... 191705 ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../nginx-common_1.6.2-5ubuntu3.1_all.deb ...
Desempaquetando nginx-common (1.6.2-5ubuntu3.1) ...
Seleccionando el paquete nginx-core previamente no seleccionado.
Preparando para desempaquetar .../nginx-core_1.6.2-5ubuntu3.1_amd64.deb ...
Desempaquetando nginx-core (1.6.2-5ubuntu3.1) ...
Seleccionando el paquete nginx previamente no seleccionado.
Preparando para desempaquetar .../nginx_1.6.2-5ubuntu3.1_all.deb ...
Desempaquetando nginx (1.6.2-5ubuntu3.1) ...
Procesando disparadores para man-db (2.7.0.2-5) ...
Procesando disparadores para ufw (0.34~rc-0ubuntu5) ...
Procesando disparadores para systemd (219-7ubuntu6) ...
Procesando disparadores para ureadahead (0.100.0-19) ...
ureadahead will be reprofiled on next reboot
Configurando nginx-common (1.6.2-5ubuntu3.1) ...
Procesando disparadores para ufw (0.34~rc-0ubuntu5) ...
Configurando nginx-core (1.6.2-5ubuntu3.1) ...
Configurando nginx (1.6.2-5ubuntu3.1) ...
Procesando disparadores para systemd (219-7ubuntu6) ...
Procesando disparadores para ureadahead (0.100.0-19) ...
El document root está en la misma ubicación que Apache:
/var/www/html
Luego de eso solo hay que ir a http://localhost o http://<FQDN> y comenzar a trabajar.