NGINX: creación de Virtual Hosts

Shared post

¿Que es un Virtual Host?

Virtual Host es una técnica en la cual mediante un nombre de dominio o dirección Ip se puede configurar varias páginas web en un mismo servidor.

Puedes ver más información en el siguiente enlace Virtual Host.

¿Como crear un Virtual Host en NGINX?

Crear carpeta a la cual accederemos con el Virtul Host

Creamos una carpeta con el nombre que queramos en la ruta /var/www

cd /var/www                       # Accedemos a la ruta del servidor web

mkdir misitoweb.com               # creamos una carpeta con el nombre que queramos

cd misitioweb.com                 # accedemos a la carpeta creado

Una vez creada y hemos accedido a la carpeta, añadimos la página web a la que queremos acceder a través de Virutal Hosts.

Con esto ya tenemos disponible nuestra web en el servidor a falta de ser configurada con Virtual Hosts

Configuración de Virtual Hosts

  1. Accede a los archivos de configuración de NGINX en la ubicación /etc/nginx/sites-available para poder configurar todos los sitios webs que quieras.
  2. Crea un nuevo archivo de configuración para tu sitio web. Una buena practica es nombrarlo como el nombre de tu sitio web, de esta forma siempre sabrás que archivo corresponde a cada sitio web creado.
nano misitioweb.com.conf
  1. Añade la configuración del virtual Host:
server {
    listen 80;
    listen [::]:80;
    server_name misitioweb.com www.misitioweb.com;
    root /var/www/misitioweb.com;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}
  • listen 80: Escucha en el puerto 80 (puerto HTTP por defecto) IPv4
  • listen [::]:80: Escucha en el puerto 80 IPv6
  • server_name: Define los dominios que responderán a este Virtual Host
  • root: Especifica la ruta directorio raiz de los archivos de tu sitio web
  • index: Indica el archivo que se mostrará por defecto (generalmente index.html)
  1. Crea un enlace simbolico para habilitar el Virtual Host en /etc/nginx/sites-enabled. En esta carpeta están todos los ficheros de configuración que realmente están habilitados para su funcionamiento.
sudo ln -s /etc/nginx/sites-available/misitioweb.com /etc/nginx/sites-enabled/

Hay que tener en cuenta que tu puedes tener todos los archivos de configuración de Virutal Hosts que quieras en /etc/nginx/sites-available, pero nunca estarán activos a no ser que realices un enlace simbolico a la carpeta /etc/nginx/sites-enabled. De esta forma, puedes ir activando y desactivando Virtual Hosts según tus necesidades.

  1. Verfica la configuración de NGINX
sudo nginx -t
  1. Reinicia NGINX para aplicar los cambios realizados
sudo systemctl restart nginx

¡Virtual Host configurado! Ahora tu sitio web estará accesible a través del dominio que se configuró en el Virtual Host.

Te dejo la documentación oficial por si necesitas más información adicional


Shared post