Instale Nginx con bloques de servidor (hosts virtuales) en Debian 10
Nginx es un servidor web de alto rendimiento muy popular que combina el poder del proxy inverso, el equilibrio de carga, el almacenamiento en caché y mucho más. Dependiendo de cómo esté configurado, puede actuar como proxy inverso y como equilibrador de carga para servidores HTTP/HTTPS.
El servidor web Nginx tiene una capacidad fenomenal para atender miles de conexiones simultáneas y esto lo convierte en el servidor web más rápido, alimentando más de la mitad de los sitios más concurridos del mundo. Estos incluyen Netflix, DuckDuckGo y DropBox, por mencionar solo algunos.
Lea también: Cómo instalar Apache con hosts virtuales en Debian 10
En este tutorial, lo guiaremos a través de los pasos sobre cómo instalar Nginx con hosts virtuales para alojar múltiples dominios en un servidor Debian 10.
Requisitos previos
Antes de comenzar, asegúrese de que se cumplan los siguientes requisitos:
- Una instancia de Debian 10.
- Un Nombre de dominio completo (FQDN) que apunta al servidor.
- En esta guía, utilizamos el dominio
linux-console.net
que apunta a un sistema Debian 10 con una dirección IP 192.168.0.104. - Una buena conexión a Internet.
Paso 1: actualice el repositorio de paquetes de Debian 10
Antes que nada, necesitamos actualizar nuestro repositorio de paquetes local a las últimas versiones. Para lograr esto, inicie sesión como usuario normal con privilegios sudo y ejecute el siguiente comando.
sudo apt update -y
Paso 2: instale Nginx en Debian 10
Dado que Nginx está presente en los repositorios de Debian, podemos instalarlo cómodamente utilizando el administrador de paquetes apt que viene con Debian.
sudo apt install nginx -y
Paso 3: verificar el estado del servidor web Nginx
Si no encontró errores, entonces el servidor web Nginx se instaló correctamente. Es prudente verificar el estado del servidor web antes de realizar más configuraciones.
Para verificar el estado de Nginx, ejecute:
systemctl status nginx
Si el servidor web está funcionando, recibirá la siguiente notificación.
Si desea reiniciar el servidor web Nginx, ejecute el comando.
systemctl restart nginx
Para detener Nginx, emita el comando.
systemctl stop nginx
Para iniciar el servidor web, ejecute.
systemctl start nginx
Para configurar el servidor web Nginx para que se inicie al ejecutar el arranque.
systemctl enable nginx
Lea también: Los 10 comandos Nginx más utilizados que todo usuario de Linux debe conocer
Paso 4: configurar el firewall para abrir el puerto Nginx
Con Nginx instalado y ejecutándose correctamente, debemos permitir el acceso web al servicio, especialmente a usuarios externos. Si tiene habilitado el firewall UFW, debe permitir el acceso HTTP a través del firewall.
Para lograr esto, ejecute el comando.
sudo ufw allow 'Nginx HTTP'
A continuación, vuelva a cargar el firewall para efectuar los cambios.
sudo ufw reload
Genial, ahora puedes verificar que HTTP esté permitido a través del firewall ejecutando.
sudo ufw status
En el fragmento anterior, podemos ver claramente que se ha permitido Nginx HTTP a través del firewall UFW.
Paso 5: acceder al servidor web Nginx
Hasta ahora hemos realizado las configuraciones básicas para que Nginx esté en funcionamiento. Para acceder al servidor web a través del navegador web, busque la dirección IP del servidor como se muestra.
http://server-IP-address
Esta es una confirmación de que Nginx está en funcionamiento.
Paso 6: Configurar los bloques del servidor Nginx en Debian 10
Este es un paso opcional y resulta útil cuando desea alojar varios dominios en un servidor web Nginx. Para que esto funcione, necesita tener un nombre de dominio que apunte a su servidor Debian.
Para esta sección, usaremos el nombre de dominio linux-console.net
cuyo registro A
apunta a la IP del servidor 192.168.0.104.
Cuando apunta el nombre de dominio a la dirección IP de su servidor, el nombre de dominio pronto cambiará y apuntará a su servidor web como se muestra.
Ahora creemos un bloque de servidor.
En primer lugar, creemos un directorio para nuestro dominio como se muestra.
sudo mkdir -p /var/www/html/linux-console.net
Luego asigne la propiedad del archivo requerida como se muestra.
sudo chown -R $USER:$USER /var/www/html/linux-console.net
A continuación, asigne permisos de lectura y ejecución al grupo y a los usuarios públicos como se muestra.
sudo chmod -R 755 /var/www/html/linux-console.net
Ahora creemos una página web de muestra simple index.html
usando el editor de texto vim.
sudo vim /var/www/html/linux-console.net/index.html
Agregue contenido de muestra al archivo. Esto se mostrará en el navegador.
<html>
<head>
<title>Welcome to Linux geeks</title>
</head>
<body>
<h1>Success! Welcome to your new server block on Tecmint Nginx Web Server !</h1>
</body>
</html>
Guardar y salir del editor.
Para que se publique este contenido, es necesario crear un bloque de servidor.
Creemos un bloque de servidor
vim /etc/nginx/sites-available/linux-console.net
Copie y pegue el siguiente contenido en el archivo de bloque del servidor.
server {
listen 80;
listen [::]:80;
root /var/www/html/linux-console.net;
index index.html index.htm index.nginx-debian.html;
server_name linux-console.net linux-console.net;
location / {
try_files $uri $uri/ =404;
}
}
Asegúrese de actualizar el nombre de dominio linux-console.net con su propio nombre de dominio.
Para activar o habilitar el archivo de bloqueo del servidor, cree un enlace simbólico como se muestra.
sudo ln -s /etc/nginx/sites-available/linux-console.net /etc/nginx/sites-enabled/
Para verificar que todas las configuraciones en Nginx estén configuradas correctamente, ejecute.
sudo nginx -t
¡Genial, estamos listos para comenzar! Finalmente reinicie Nginx.
sudo systemctl restart nginx
Dirígete a tu navegador y actualiza y, si todo salió bien, el navegador debería mostrar la página web de bloqueo de tu servidor como se muestra.
Paso 7: acceder a los archivos de registro de Nginx
Para acceder a los archivos de registro sobre las solicitudes realizadas a su servidor, acceda al archivo siguiente.
sudo vim /var/log/nginx/access.log
En caso de que encuentre errores en su servidor web Nginx, examine el archivo en busca de errores.
sudo vim /var/log/nginx/error.log
Conclusión
En esta guía, aprendió cómo instalar Nginx en su instancia de Debian 10 y cómo configurarla para admitir dominios adicionales. Esperamos que esta guía le haya resultado útil. Tus comentarios serán apreciados.