Ver destacados

Cómo instalar y configurar Nginx en CentOS 7

Te enseñamos cómo instalar y configurar Nginx en CentOS 7 de forma completa.
Escrito por
22.5K Visitas  |  Publicado ago 08 2017 09:13
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


Al administrar servidores con distros CentOS 7 es ideal conocer todas las ventajas y amplias posibilidades que tenemos a la hora de expandir el uso y funcionamiento del sistema ya que gracias a ser código abierto podemos añadir un sinfín de nuevas aplicaciones o servicios que sin lugar a dudas será de gran ayuda a la hora de trabajar en CentOS 7.

 

Una de las posibilidades que como administradores o parte de soporte IT tenemos para añadir a CentOS 7 es aprovechar su potencial para crear un servidor proxy que amplíe las posibilidades de conectividad y comunicación dentro de la organización y esto lo logramos gracias a Nginx.

 

Hoy este tutorial analizará en detalle cómo podemos instalar y configurar Nginx en CentOS 7 con total fiabilidad y de este modo extenderemos las capacidades naturales de esta gran distro de Linux.

 

Qué es Nginx
Nginx [motor x] es un servidor proxy HTTP y reverso el cual puede cumplir roles de un servidor proxy de correo o un servidor proxy TCP / UDP permitiendo mayores opciones de conectividad dentro de la organización.

 

Nginx fue escrito por Igor Sysoev en Rusia donde por mucho tiempo ha estado ejecutando se de forma satisfactoria en sitios populares rusos como Yandex, Mail.Ru, VK, y Rambler, pero actualmente Nginx brinda soporte y seguridad a sitios conocidos como Netflix, Wordpress.com, FastMail.FM.

 

Todas las fuentes y documentación de Nginx se distribuyen bajo la licencia tipo BSD.

 

Sistemas operativos soportados
Nginx puede funcionar en cualquiera de los siguientes sistemas operativos de forma correcta:
  • FreeBSD 3 — 11 / i386; FreeBSD 5 — 11 / amd64;
  • Linux 2.2 — 4 / i386; Linux 2.6 — 4 / amd64; Linux 3 — 4 / armv6l, armv7l, aarch64, ppc64le;
  • Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
  • AIX 7.1 / powerpc;
  • HP-UX 11.31 / ia64;
  • macOS / ppc, i386;
  • Windows XP- Windows 10, Windows Server 2003-2012.

 

Características de Nginx como servidor HTTP
Nginx es un recurso de software lleno de características que serán de ayuda para todas las organizaciones que desean ampliar su rango de servicios y roles, estas características como servidor HTTP las determinamos por categorías de la siguiente manera:
  • Soporte para HTTP / 2 con priorización ponderada y dependiente.
  • Soporte SSL y TLS SIN.
  • Soporte acelerado con almacenamiento en caché de servidores FastCGI, uwsgi, SCGI y memcached.
  • Equilibrio de carga y tolerancia a errores.
  • Arquitectura modular.
  • Proxy inverso acelerado con almacenamiento en caché.
  • Servidor de archivos estáticos e indexados, autoindexado.
  • Incluye filtros gzipping, rangos de bytes, respuestas fragmentadas, XSLT, SSI y filtro de transformación de imágenes.
  • compatible con conexiones Keep-alive y pipeline.
  • Redirecciona códigos de error 3xx-5xx.
  • Servidores virtuales basados en nombres y basados en IP.
  • Incluye módulo de reescritura el cual cambia de URI mediante expresiones regulares.
  • Ejecuta diferentes funciones dependiendo de la dirección del cliente.
  • Control de acceso basado en la dirección IP del cliente, por contraseña (autenticación HTTP básica).
  • Dispone de los métodos PUT, DELETE, MKCOL, COPY y MOVE.
  • Valida referencias HTTP.
  • Capacidad de limitar el número de conexiones o peticiones simultáneas procedentes de una dirección.
  • Geolocalización basada en IP.
  • Incluye Perl.
  • Soporta NginScript.

 

Características de Nginx como servidor proxy de correo
  • Soporta los métodos de autenticación POP3:USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5, IMAP: LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5, SMTP: AUTH LOGIN/PLAIN/CRAM-MD5.
  • Permite redireccionar un usuario a un servidor IMAP o POP3 utilizando un servidor de autenticación HTTP externo.
  • Soporte SSL, STARTTLS y STLS.
  • Permite la autenticación de usuario mediante un servidor de autenticación HTTP externo y lo redirecciona a un servidor SMTP interno.

 

Características de Nginx como servidor TCP/UDP
  • Proxy genérico de TCP y UDP.
  • Balanceo de carga y tolerancia a fallos.
  • Soporte SSL y TLS SNI para TCP.
  • Geolocalización basada en IP.
  • Ejecuta diferentes funciones dependiendo de la dirección del cliente.
  • Control de acceso basado en la dirección del cliente.
  • Admite formatos de registro de acceso, escritura de registro en búfer, rotación de registro rápido y el registro de syslog.

 

Características adicionales de Nginx
  • Permite la reconfiguración y actualización de un ejecutable sin interrupción del servicio al cliente.
  • Soporte para kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), / dev / poll (Solaris 7 11/99 +), puertos de eventos (Solaris 10), select y poll.
  • Soporta diversas funcionalidades de kqueue incluyendo EV_CLEAR.
  • Configuración flexible.
  • Acepta filtros (FreeBSD 4.1+, NetBSD 5.0+) y soporte para TCP_DEFER_ACCEPT (Linux 2.4+).
  • Las operaciones de copia de datos se mantienen al mínimo para evitar afectar el rendimiento del sistema.

 


1. Actualizar CentOS 7


El primer paso a realizar consiste en actualizar los paquetes del sistema para lo cual ejecutaremos la siguiente línea:
yum -y update

 

 


2. Instalar Nginx en CentOS 7

 

Paso 1

Una vez actualizado CentOS 7, será necesario que instalemos los repositorios EPEL para la correcta instalación de Nginx, para instalar estos repositorios ejecutaremos la siguiente línea:
yum install epel-release

 

Paso 2

Ingresamos la letra y para confirmar la descarga e instalación del repositorio EPEL y una vez finalizado veremos lo siguiente:

 

 

Paso 3

Con esto procedemos a la instalación de Nginx ejecutando el siguiente comando. Aceptamos la descarga e instalación de los paquetes de Nginx.
yum install nginx

 

 


3. Administrar el servidor HTTP de Nginx en CentOS 7

 

Paso 1

Una vez instalado Nginx será necesario ejecutar las siguientes líneas:
systemctl start nginx (inicio del servicio)
systemctl enable nginx (habilitación del servicio)
systemctl status nginx (estado del servicio)

 

Como vemos Nginx se encuentra activo y corriendo.

 


4. Configurar el Firewall para el acceso de Nginx en CentOS 7

 

El siguiente paso consiste en habilitar en firewalld el acceso de Nginx ya que el servidor de seguridad integrado de CentOS 7 está configurado para bloquear el tráfico de Nginx. Para esto debemos crear las reglas que habiliten los paquetes entrantes en HTTP y HTTPS en CentOS 7 usando las siguientes líneas:

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd –reload

 

 


5. Acceder a Nginx en CentOS 7

 

Paso 1

Una vez habilitados los permisos en el firewall de CentOS 7 accederemos a un navegador y en la barra de dirección ingresaremos la siguiente sintaxis.
http://IP_Servidor

 

Paso 2

Como vemos Nginx ha sido instalado y configurado de forma correcta. Algunos de los principales directorios de Nginx son:
  • Directorio raíz
/etc/nginx
  • Archivo de configuración de Nginx
/etc/nginx/nginx.conf
  • Configuración del bloque de servidor:
/etc/nginx/conf.d
  • Directorio de la documentación
    /usr/share/nginx/html

 

Paso 3

Algunos de los parámetros que podemos usar con Nginx son:
  • -? | -h: Despliega la ayuda de Nginx.
  • -c file: Usa un archivo de configuración alternativo.
  • -g directives: Establece directivas globales.
  • -p prefix: Establecer el prefijo de ruta de acceso de nginx, es decir, un directorio que mantendrá los archivos del servidor.
  • -q: Suprime mensajes de error durante las pruebas.
  • -s signal: Envía una señal al proceso maestro, las opciones son:
    • Stop: apagar rápidamente.
    • Quit: Cierra el proceso.
    • Reload: Recargar la configuración.
    • Reopen: Vuelve a abrir archivos de registro.
  • -t: Prueba la configuración de un archivo.
  • -v: Despliega la versión de Nginx

 

 

De esta forma hemos instalado y configurado Nginx en CentOS 7 para sacar el máximo provecho al servidor e incrementar las opciones de gestión.

 

En este tutorial veremos cómo utilizar el agente del navegador para poder cambiar nuestras reglas rewrite desde Nginx.

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!