GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar Nginx con Let's Encrypt en RHEL 8

La popularidad de Nginx no está ligada únicamente a que sea una aplicación de software web de código abierto, sino también a su adaptación como servidor modular y de alto rendimiento. Estos atributos lo convierten en un candidato ideal para un servidor web, balanceador de carga o función de proxy inverso.

La función de Nginx como servidor web lo hace operativo a través del puerto 80 y su directorio principal para servir archivos web es /usr/share/nginx/html/ en RHEL 8 Linux .

[ También te puede interesar:Cómo sincronizar dos servidores web en Linux automáticamente ]

Instalar Nginx en RHEL 8

Para instalar Nginx en su RHEL 8 sistema, debe tener acceso de root o privilegios de Sudoer. El siguiente paso es ejecutar una verificación de actualización del sistema en el sistema.

$ sudo yum update

Luego, puede continuar y ejecutar el siguiente comando para instalar Nginx aplicación de software web.

$ sudo yum install nginx

El siguiente paso es habilitar e iniciar el servicio firewalld para que el puerto 80 (HTTP ) y puerto 443 (HTTPS ) son accesibles para Nginx .

$ sudo firewall-cmd --permanent --add-port={80/tcp,443/tcp}
$ sudo firewall-cmd --reload 

Ahora necesitamos habilitar e iniciar Nginx para que se ejecute automáticamente incluso después del arranque del sistema.

$ sudo systemctl enable nginx
$ sudo systemctl start nginx 

Ahora revisa Nginx estado para ver si se está ejecutando.

$ sudo systemctl status nginx

Ahora que tienes Nginx instalado, habilitado y en ejecución, debemos descubrir cómo usarlo para alojar páginas web. Primero, visite la siguiente URL para asegurarse de que se está cargando la página predeterminada de Nginx.

http://YOUR-IP-ADDRESS
OR
http://localhost 

Alojamiento de un sitio web con Nginx en RHEL

Para configurar Nginx para proporcionar la funcionalidad básica del servidor web, deberá hacer referencia/editar el archivo /etc/nginx/nginx.conf .

$ sudo nano /etc/nginx/nginx.conf

Este archivo le da una idea de cómo debería verse un bloque de servidor Nginx básico.

Incluso tiene una configuración comentada para un TLS servidor habilitado como se muestra a continuación.

Por ejemplo, si tenemos dos nombres de dominio (por ejemplo, linuxshelltips.com y linuxshelltips.net ) que necesitan servir archivos web a través de este Nginx servidor, crearemos sus bloques de servidor asociados de la siguiente manera.

Creación de bloques de servidor Nginx

 server {
    server_name linuxshelltips.com;
    root /var/www/dlinuxshelltips.com/;
    access_log /var/log/nginx/linuxshelltips.com/access.log;
    error_log /var/log/nginx/linuxshelltips.com/error.log;
    
  }

   server {
    server_name linuxshelltips.net;
    root /var/www/dlinuxshelltips.net/;
    access_log /var/log/nginx/linuxshelltips.net/access.log;
    error_log /var/log/nginx/linuxshelltips.net/error.log;
    
  }

Asegúrese de que también existan los directorios mencionados que contienen los archivos web accesibles para los dos nombres de dominio.

$ sudo mkdir -p /var/www/linuxshelltips.com
$ sudo mkdir -p /var/www/linuxshelltips.net

Además, cree los directorios de registro.

$ sudo mkdir /var/log/nginx/linuxshelltips.com/
$ sudo mkdir /var/log/nginx/linuxshelltips.net/

Cree algunos datos web de muestra para que se muestren a través de cada uno de estos nombres de dominio:

$ sudo nano /var/www/linuxshelltips.com/index.html

Agregue las siguientes líneas al index.html archivo.

<!DOCTYPE html>
<html>

<head>
  <title>LinuxShellTips.com</title>
</head>

<body>

  <h1>LinuxShellTips.com</h1>
   <p>I am a Paragraph</p>

</body>
</html>

A continuación, abra el segundo index.html página.

$ sudo nano /var/www/linuxshelltips.net/index.html

Agregue las siguientes líneas al index.html archivo.

<!DOCTYPE html>
<html>

<head>
  <title>LinuxShellTips.net</title>
</head>

<body>

  <h1>LinuxShellTips.net</h1>
   <p>I am a Paragraph</p>

</body>
</html>

El paso final es reiniciar Nginx.

$ sudo systemctl restart nginx

Con Nginx servidor web en funcionamiento, podemos acceder simultáneamente a estos dos dominios desde nuestro navegador y luego observar lo que sucede.

http://linuxshelltips.com
http://linuxshelltips.net

Asegure Nginx con Let's Encrypt en RHEL 8

Para proteger los sitios web alojados en Nginx con HTTPS , necesita instalar el Certbot herramienta que le ofrecerá un certificado Let's Encrypt SSL gratuito.

$ sudo dnf install epel-release 
$ sudo dnf install certbot python3-certbot-nginx mod_ssl

Una vez que Certbot esté instalado, puede ejecutar el siguiente comando para obtener sus certificados SSL gratuitos para sus dominios.

$ sudo certbot --nginx -d linuxshelltips.com
$ sudo certbot --nginx -d linuxshelltips.net

Se podrá acceder a los certificados adquiridos dentro de un subdirectorio con el nombre de su dominio en /etc/letsencrypt/live directorio.

Ahora que sus certificados están instalados, puede verificar el estado del certificado SSL de su dominio en la siguiente URL.

https://www.ssllabs.com/ssltest/analyze.html?d=linuxshelltips.com
https://www.ssllabs.com/ssltest/analyze.html?d=linuxshelltips.net

Nginx El servidor web le brinda la flexibilidad de manejar más de un nombre de dominio a través de su configuración de bloque de servidor. Es una herramienta que lo guiará a través de los entresijos de la administración del servidor web sin esfuerzo.


Linux
  1. Cómo instalar phpMyAdmin con Nginx en CentOS 7 / RHEL 7

  2. Cómo instalar phpMyAdmin con Nginx en CentOS 8 / RHEL 8

  3. Cómo instalar Let's Encrypt en CentOS 8 con Nginx

  4. Cómo instalar Let's Encrypt SSL en Ubuntu 18.04 con Nginx

  5. Cómo instalar Let's Encrypt en Ubuntu 20.04 con Apache

Cómo instalar Nginx con Let's Encrypt TLS/SSL en Ubuntu 20.04

Cómo instalar Let's Encrypt SSL con Nginx en CentOS 7

Cómo instalar Let's Encrypt SSL con Lighttpd en CentOS 7

Cómo instalar Nginx con Let's Encrypt SSL en Fedora 35

Cómo instalar Let's Encrypt SSL en Ubuntu con Apache

Cómo instalar Nginx con Let's Encrypt SSL en Ubuntu 20.04 LTS