Cómo instalar Nginx en CentOS 8

Cómo instalar Nginx en CentOS 8

En esta entrada vamos a ver cómo instalar Nginx en CentOS 8 paso a paso, de modo que al final de esta guía tendrás instalado y configurado, incluso con seguridad SSL, uno de los servicios web más populares en tu servidor o VPS CentOS.

Antes de instalar Nginx en CentOS 8

Si quieres seguir hasta el final esta guía de instalación de Nginx en CentOS 8 debes cumplir los siguientes requisitos:

  • Un sistema CentOS 8 actualizado.
  • Acceso a terminal de consola como root o un usuario con permisos de sudo.
  • Conexión a Internet.

Cómo instalar Nginx en CentOS 8

Para instalar Nginx en CentOS 8 usaremos los repositorios de la distribución, por lo que la primera acción es actualizar las listas de paquetes:

~$ sudo yum update

El paquete que necesitamos instalar es nginx, así que lo instalamos con el comando yum:

~$ sudo yum install -y nginx

Tras descargar e instalar el paquete y sus dependencias se crea un nuevo servicio en nuestro sistema CentOS 8 llamado nginx.service, o más brevemente nginx.

El servicio nginx no inicia tras la instalación, y tampoco está habilitado para iniciar automáticamente en cada arranque de CentOS 8.

Para iniciar el servicio de inmediato usaremos el comando systemctl start:

~$ sudo systemctl start nginx

Y para que Nginx inicie con CentOS 8 y esté siempre disponible, lo habilitaremos con systemctl enable:

~$ sudo systemctl enable nginx

Puedes comprobar en cualquier momento el estado de Nginx usando el comando systemctl status nginx:

como instalar nginx en centos 8

Configurar el firewall de CentOS 8 para Nginx

Si quieres acceder al servicio Nginx desde otros sistemas conectados en red tendrás que añadir una regla o excepción al firewall de CentOS 8, ya que por defecto impide las conexiones.

Podrás permitir el acceso tanto al servicio HTTP estándar como al protocolo HTTPS seguro:

~$ sudo firewall-cmd --permanent --add-service={http,https}

Si sólo tienes previsto usar el protocolo estándar, puedes indicarlo exclusivamente:

~$ sudo firewall-cmd --permanent --add-service=http

En cualquier caso habrá que recargar la configuración del firewall para aplicar los cambios:

~$ sudo firewall-cmd --reload

Probar Nginx

Ahora puedes acceder a la página web por defecto que Nginx muestra en CentOS 8 tanto localmente como de forma remota, mediante un navegador, indicando como URL la dirección IP o dominio  del servidor CentOS 8:

instalar nginx en centos 8

Cómo configurar Nginx en CentOS 8

Para configurar Nginx en CentOS 8 editaremos los archivos bajo la ruta /etc/nginx/, siendo el archivo principal nginx.conf, desde el que se cargan otros archivos adicionales mediante directivas include.

Desde nginx.conf se cargan los archivos de configuración presentes en los subdirectorios conf.d/ y default.d/.

Por ejemplo, si tenemos instalado PHP funcionando como servicio independiente, la instalación de PHP colocará, o habrá colocado incluso previa a la instalación de Nginx, los archivos de configuración necesarios para conectar Nginx con PHP.

Cómo configurar seguridad HTTPS SSL

Para dotar de seguridad SSL y poder usar el protocolo HTTPS necesitaremos certificados para cifrar la conexión. Si no dispones de estos certificados previamente, puedes crear unos certificados autofirmados:

~$ sudo openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/centos8.local.key -x509 -days 365 -out /etc/pki/tls/certs/centos8.local.crt

Es importante contestar con el dominio de la máquina CentOS 8 cuando se nos pregunte el «Common Name«:

...
Common Name (eg, your name or your server's hostname) []:centos8.local
...

Editaremos el archivo principal de configuración de Nginx:

~$ sudo nano /etc/nginx/nginx.conf

Y buscaremos la sección de la configuración SSL:

...
# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2 default_server;
#        listen       [::]:443 ssl http2 default_server;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
...

Habrá que descomentar este bloque server entero, además en las directivas ssl_certificate y ssl_certificate_key debemos indicar la ruta de los archivos del certificado que vamos a emplear:

...
        ssl_certificate "/etc/pki/tls/certs/centos8.local.crt";
        ssl_certificate_key "/etc/pki/tls/private/centos8.local.key";
...

Guardados los cambios y cerrado el archivo, habrá que recargar la configuración del servicio Nginx:

~$ sudo systemctl reload nginx

Ahora ya puedes usar las URL que comienzan por https:// en lugar de http://, aunque en este ejemplo, al usar certificados autofirmados que no están verificados por autoridad certificadora alguna, el navegador nos lo advertirá:

como configurar nginx en centos 8

Según el navegador que estés usando, encontrarás distintos modos de que continúe la navegación, permitiéndonos acceder al sitio deseado:

configurar nginx en centos 8

De alguna u otra forma el navegador nos seguirá indicando el problema con el certificado, pero funcionará correctamente. Obviamente con certificados firmados por autoridades certificadoras nos ahorraremos estas molestias.

Conclusión

Como has visto, instalar Nginx en CentOS 8 es sumamente sencillo y su potencia y versatilidad hacen que cada día sea más usado.

¿Preguntas, dudas, sugerencias? Pues nada mejor que dejar un comentario.

¡Apoya este sitio!

¿Te ha servido esta guía de instalación de Nginx en CentOS 8? ¿Quieres agradecérnoslo contribuyendo mínimamente al mantenimiento de este sitio? Nuevas guías y tutoriales de Nginx y de CentOS 8 están en camino, así que cualquier aportación es ben recibida, ¡gracias!

Valora esta entrada

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.

ACEPTAR
Aviso de cookies