bolt Valebyte VPS desde $4/mes — NVMe, despliegue en 60s.

Obtener VPS arrow_forward
eco Principiante Tutorial/Cómo hacer

Alojar Múltiples Sitios Web en Servidor Dedicado con Nginx

calendar_month Jun 28, 2026 schedule 9 min de lectura visibility 24 vistas
Host Multiple Websites on Your Dedicated Server with Nginx
info

¿Necesitas un servidor para esta guía? Ofrecemos servidores dedicados y VPS en más de 50 países con configuración instantánea.

Aprovechar la potencia bruta de un servidor dedicado permite un control, rendimiento y escalabilidad inigualables. Una de las formas más comunes y eficientes de maximizar este potencial es alojando múltiples sitios web en una sola máquina. Este tutorial te guiará a través de la configuración de Nginx para servir varios dominios desde tu servidor dedicado Valebyte, asegurando que cada sitio funcione de manera óptima.

¿Necesitas un VPS para esta guía?

Explore otras opciones de servidores dedicados en

¿Por qué alojar múltiples sitios web en un servidor dedicado?

Los servidores dedicados proporcionan acceso exclusivo a todos sus recursos: CPU, RAM, almacenamiento y ancho de banda de red. Esto contrasta fuertemente con el alojamiento compartido, donde los recursos se dividen entre muchos usuarios, o incluso con los VPS, que, si bien ofrecen más aislamiento, aún virtualizan el hardware. Para empresas, desarrolladores y administradores de sistemas, un servidor dedicado de Valebyte ofrece:

  • Rendimiento Inigualable: La ausencia de "vecinos ruidosos" que compitan por los recursos significa un rendimiento consistente y de alta velocidad para todos sus sitios. Ideal para aplicaciones web de alto tráfico, tiendas de comercio electrónico y servicios intensivos en datos.
  • Seguridad Mejorada: El control total sobre su entorno de servidor permite configuraciones de seguridad personalizadas, firewalls y monitoreo adaptados a sus necesidades específicas, reduciendo los riesgos de vulnerabilidad.
  • Control y Flexibilidad Totales: Instale cualquier software, configure cualquier ajuste y optimice su entorno exactamente como lo desee. Esto es crucial para configuraciones complejas como aplicaciones web personalizadas, pipelines de CI/CD o servidores de juegos especializados que también podrían requerir interfaces web.
  • Eficiencia de Costos: Para una cartera creciente de sitios web o aplicaciones, consolidarlos en un único y potente servidor dedicado puede ser más rentable que gestionar múltiples planes de alojamiento más pequeños.
  • Escalabilidad: Actualice fácilmente los componentes de hardware o añada más servidores dedicados a medida que sus necesidades se expandan, asegurando que su infraestructura pueda crecer con su negocio.

Ya sea que esté ejecutando un conjunto de sitios web empresariales, gestionando proyectos de clientes, alojando un popular servidor de juegos con una interfaz web o desarrollando múltiples aplicaciones, un servidor dedicado con Nginx es una excelente opción para una utilización eficiente de los recursos.

Requisitos Previos y del Servidor

Antes de comenzar a configurar Nginx, asegúrese de tener lo siguiente:

  • Un Servidor Dedicado Valebyte: Con acceso root o sudo.
  • Sistema Operativo: Una distribución de Linux (por ejemplo, Ubuntu 22.04 LTS, Debian 11, CentOS 8 Stream). Este tutorial utilizará ejemplos de Ubuntu 22.04 LTS, pero los comandos son en gran medida similares para otros sistemas basados en Debian.
  • Nginx Instalado: Si Nginx no está ya instalado, cubriremos su instalación.
  • Nombres de Dominio Registrados: Necesitará al menos dos nombres de dominio (por ejemplo, example1.com y example2.com) que desee alojar.
  • Configuración DNS: Los registros A para sus nombres de dominio (por ejemplo, example1.com, www.example1.com, example2.com, www.example2.com) deben apuntar a la dirección IP pública de su servidor dedicado. Los cambios de DNS pueden tardar unas horas en propagarse globalmente.
  • Familiaridad Básica con la Línea de Comandos: Comodidad con SSH y comandos básicos de Linux.

Guía Paso a Paso: Configuración de Múltiples Sitios Web con Nginx

Paso 1: Conéctese a su Servidor y Actualice el Sistema

Primero, conéctese a su servidor dedicado Valebyte a través de SSH:

ssh username@your_server_ip

Una vez conectado, actualice la lista de paquetes de su sistema y actualice cualquier paquete existente para asegurarse de tener los últimos parches de seguridad y software:

sudo apt update
sudo apt upgrade -y

Paso 2: Instale Nginx (si no está ya instalado)

Si Nginx no está ya en su servidor, instálelo:

sudo apt install nginx -y

Después de la instalación, Nginx debería iniciarse automáticamente. Puede verificar su estado:

sudo systemctl status nginx

Debería ver una salida que indique que Nginx está active (running). Si no, inícielo y habilítelo:

sudo systemctl start nginx
sudo systemctl enable nginx

Asegúrese de que su firewall (por ejemplo, UFW) permita el tráfico HTTP (puerto 80) y HTTPS (puerto 443):

sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'
sudo ufw enable

Paso 3: Cree Directorios Raíz de Documentos para Cada Sitio Web

Nginx sirve archivos desde directorios específicos, conocidos como raíces de documentos. Es una buena práctica crear un directorio separado para cada sitio web. Usaremos /var/www/ como directorio base.

Creemos directorios para dos sitios web de ejemplo: example1.com y example2.com. Reemplácelos con sus nombres de dominio reales.

sudo mkdir -p /var/www/example1.com/html
sudo mkdir -p /var/www/example2.com/html

Asigne la propiedad de estos directorios al usuario y grupo www-data, que Nginx utiliza para servir archivos. Esto asegura que Nginx tenga los permisos necesarios.

sudo chown -R www-data:www-data /var/www/example1.com
sudo chown -R www-data:www-data /var/www/example2.com

Establezca los permisos de directorio apropiados:

sudo chmod -R 755 /var/www/example1.com
sudo chmod -R 755 /var/www/example2.com

Paso 4: Cree Archivos de Índice de Muestra para Pruebas

Para verificar fácilmente que cada sitio web se está sirviendo correctamente, cree un archivo index.html simple dentro de cada raíz de documento.

Para example1.com:

echo "<!DOCTYPE html><html><head><title>Bienvenido a Ejemplo 1</title></head><body><h1>¡Hola desde Ejemplo 1!</h1><p>Este es el primer sitio web en su servidor dedicado Valebyte.</p></body></html>" | sudo tee /var/www/example1.com/html/index.html

Para example2.com:

echo "<!DOCTYPE html><html><head><title>Bienvenido a Ejemplo 2</title></head><body><h1>¡Saludos desde Ejemplo 2!</h1><p>Este es el segundo sitio web en su servidor dedicado Valebyte.</p></body></html>" | sudo tee /var/www/example2.com/html/index.html

Paso 5: Configure los Bloques de Servidor de Nginx (Virtual Hosts)

Nginx utiliza 'bloques de servidor' (similares a los virtual hosts de Apache) para definir configuraciones para sitios web individuales. Estos archivos se almacenan típicamente en /etc/nginx/sites-available/ y luego se enlazan simbólicamente a /etc/nginx/sites-enabled/ para activarlos.

Cree la Configuración para example1.com

Abra un nuevo archivo para example1.com usando un editor de texto como Nano:

sudo nano /etc/nginx/sites-available/example1.com.conf

Pegue la siguiente configuración, reemplazando example1.com con su nombre de dominio:

server {
    listen 80;
    listen [::]:80;

    root /var/www/example1.com/html;
    index index.html index.htm index.nginx-debian.html;

    server_name example1.com www.example1.com;

    location / {
        try_files $uri $uri/ =404;
    }

    error_log /var/log/nginx/example1.com_error.log;
    access_log /var/log/nginx/example1.com_access.log;
}

Explicación de las directivas:

  • listen 80; y listen [::]:80;: Nginx escucha las conexiones entrantes en el puerto 80 tanto para IPv4 como para IPv6.
  • root /var/www/example1.com/html;: Especifica el directorio raíz de documentos para este sitio web.
  • index index.html ...;: Define el orden en que Nginx busca los archivos de índice.
  • server_name example1.com www.example1.com;: Le dice a Nginx a qué nombres de dominio debe responder este bloque de servidor. Crucial para alojar múltiples sitios.
  • location / { ... }: Define cómo Nginx maneja las solicitudes de archivos no encontrados directamente. try_files intenta servir la URI solicitada, luego la URI como un directorio, y finalmente devuelve un error 404.
  • error_log y access_log: Archivos de registro personalizados para cada sitio, lo que facilita la resolución de problemas y el monitoreo.

Guarde y cierre el archivo (Ctrl+X, Y, Enter en Nano).

Cree la Configuración para example2.com

Repita el proceso para su segundo dominio:

sudo nano /etc/nginx/sites-available/example2.com.conf

Pegue la configuración, ajustándola para example2.com:

server {
    listen 80;
    listen [::]:80;

    root /var/www/example2.com/html;
    index index.html index.htm index.nginx-debian.html;

    server_name example2.com www.example2.com;

    location / {
        try_files $uri $uri/ =404;
    }

    error_log /var/log/nginx/example2.com_error.log;
    access_log /var/log/nginx/example2.com_access.log;
}

Guarde y cierre el archivo.

Paso 6: Habilite los Bloques de Servidor y Reinicie Nginx

Para activar sus nuevos bloques de servidor, cree enlaces simbólicos de sites-available a sites-enabled:

sudo ln -s /etc/nginx/sites-available/example1.com.conf /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/example2.com.conf /etc/nginx/sites-enabled/

A menudo es una buena idea eliminar el bloque de servidor predeterminado de Nginx para evitar conflictos o servir contenido no deseado:

sudo rm /etc/nginx/sites-enabled/default

Antes de reiniciar Nginx, siempre pruebe su configuración en busca de errores de sintaxis:

sudo nginx -t

Debería ver una salida similar a:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Si no hay errores, reinicie Nginx para aplicar los cambios:

sudo systemctl restart nginx

Paso 7: Configure los Registros DNS

Este paso es crucial y debe realizarse a través de su registrador de dominios o servicio de gestión de DNS. Para cada dominio (example1.com y example2.com), debe crear o modificar los siguientes registros A:

  • Un registro A para el dominio raíz (por ejemplo, example1.com) que apunte a la dirección IP de su servidor dedicado.
  • Un registro A para el subdominio www (por ejemplo, www.example1.com) que también apunte a la dirección IP de su servidor dedicado.

Los cambios de DNS pueden tardar desde unos pocos minutos hasta 48 horas en propagarse completamente por Internet. Puede utilizar herramientas en línea como DNS Checker para monitorear la propagación.

Paso 8: Pruebe sus Sitios Web

Una vez que la propagación de DNS se haya completado, abra su navegador web y navegue a http://example1.com y http://example2.com. Debería ver los mensajes respectivos '¡Hola desde Ejemplo 1!' y '¡Saludos desde Ejemplo 2!'.

También puede probar desde la línea de comandos de su servidor usando curl, configurando explícitamente el encabezado Host para simular una solicitud de navegador:

curl -H "Host: example1.com" http://localhost
curl -H "Host: example2.com" http://localhost

O, una vez que el DNS se haya propagado:

curl http://example1.com
curl http://example2.com
rocket_launch Elección rápida

¿Buscas un servidor que simplemente funcione?

Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.

Ver planes VPS arrow_forward

Consideraciones Avanzadas para el Alojamiento en Servidor Dedicado

SSL/TLS con Let's Encrypt

Para una comunicación segura, todos los sitios web modernos deberían usar HTTPS. Let's Encrypt proporciona certificados SSL/TLS gratuitos, y Certbot automatiza el proceso. Instale Certbot para Nginx:

sudo apt install certbot python3-certbot-nginx -y

Luego, solicite y configure certificados para sus dominios:

sudo certbot --nginx -d example1.com -d www.example1.com -d example2.com -d www.example2.com

Certbot le guiará a través del proceso, modificará sus configuraciones de Nginx y configurará la renovación automática.

Integración con PHP-FPM

Si sus sitios web ejecutan aplicaciones PHP (como WordPress, Laravel, etc.), necesitará PHP-FPM (FastCGI Process Manager). Instálelo junto con las extensiones PHP comunes:

sudo apt install php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip -y

Luego, modifique su bloque de servidor Nginx para pasar las solicitudes PHP a PHP-FPM. Añada un bloque location ~ \.php$:

server {
    # ... other directives ...

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock; # Ajuste la versión de PHP si es diferente
    }

    # ... other directives ...
}

Recuerde reiniciar Nginx y PHP-FPM después de los cambios:

sudo systemctl restart php8.1-fpm
sudo systemctl restart nginx

Mejores Prácticas de Seguridad

  • Firewall (UFW): Mantenga abiertos solo los puertos necesarios (22 para SSH, 80 para HTTP, 443 para HTTPS).
  • Actualizaciones Regulares: Mantenga su sistema operativo y Nginx actualizados.
  • Contraseñas Fuertes/Claves SSH: Use contraseñas fuertes y únicas y claves SSH para el acceso al servidor.
  • Limitación de Tasa: Use el módulo limit_req de Nginx para proteger contra ataques DDoS en sitios de alto tráfico.
  • Fail2Ban: Instale Fail2Ban para prohibir automáticamente las IPs con demasiados intentos de inicio de sesión fallidos.

Monitoreo y Registro

Los servidores dedicados proporcionan acceso completo a los registros. Revise regularmente los registros de acceso y error de Nginx (por ejemplo, /var/log/nginx/example1.com_access.log y /var/log/nginx/example1.com_error.log) para obtener información sobre el tráfico y los problemas. Considere herramientas como Logrotate para gestionar el tamaño de los archivos de registro y Prometheus/Grafana para un monitoreo avanzado.

Solución de Problemas Comunes

Incluso con una configuración cuidadosa, pueden surgir problemas. Aquí hay problemas comunes y sus soluciones:

1. Errores de Sintaxis en la Configuración de Nginx

Síntoma: Nginx no se reinicia, o nginx -t reporta errores. Solución: El comando nginx -t es su mejor amigo. Indicará el archivo exacto y el número de línea del error de sintaxis. Revise cuidadosamente la línea reportada en busca de errores tipográficos, puntos y comas faltantes, directivas incorrectas o corchetes sin cerrar.

2. Sitios Web que No Cargan o Muestran la Página Predeterminada de Nginx

Síntoma: El navegador muestra un error 404, una página de bienvenida genérica de Nginx o un sitio web diferente al esperado. Soluciones:

  • Propagación de DNS: Verifique que los registros A de su dominio apunten correctamente a la IP de su servidor dedicado. Use dig example1.com o herramientas de verificación de DNS en línea.
  • Desajuste de Nombre de Servidor: Vuelva a verificar la directiva server_name en su configuración de Nginx. Debe coincidir exactamente con los nombres de dominio que se solicitan.
  • Enlaces Simbólicos: Asegúrese de que los enlaces simbólicos en /etc/nginx/sites-enabled/ apunten correctamente a sus archivos de configuración en /etc/nginx/sites-available/.
  • Bloque de Servidor Predeterminado: Si ve la página predeterminada de Nginx, es posible que no haya eliminado o configurado correctamente el bloque de servidor predeterminado (/etc/nginx/sites-enabled/default).
  • Reinicio de Nginx: Siempre reinicie Nginx después de realizar cambios en la configuración (sudo systemctl restart nginx).

3. Problemas de Permisos (403 Prohibido)

Síntoma: El navegador muestra un error '403 Prohibido'. Solución: Esto generalmente significa que Nginx no tiene permiso para leer los archivos o directorios. Asegúrese de que la raíz del documento y su contenido sean propiedad de www-data:www-data y tengan los permisos de lectura adecuados (por ejemplo, sudo chown -R www-data:www-data /var/www/example1.com y sudo chmod -R 755 /var/www/example1.com).

4. Conflictos de Puerto

Síntoma: Nginx no se inicia, o los registros indican 'dirección ya en uso'. Solución: Otro servicio podría estar escuchando en el puerto 80 o 443. Verifique si hay otros servidores web (como Apache) o servicios. Use sudo netstat -tulpn | grep :80 para identificar el proceso en conflicto y detenerlo o cambiar su puerto.

5. Registros de Nginx

Síntoma: No está claro cuál es el problema. Solución: Siempre revise sus registros de errores de Nginx. Para errores globales, consulte /var/log/nginx/error.log. Para problemas específicos del sitio web, consulte los registros de errores personalizados que definió (por ejemplo, /var/log/nginx/example1.com_error.log). Estos registros proporcionan pistas invaluables sobre lo que está saliendo mal.

sudo tail -f /var/log/nginx/example1.com_error.log

Este comando mostrará las últimas líneas del registro y continuará mostrando nuevas entradas a medida que aparezcan, lo cual es útil para la depuración en tiempo real.

Al verificar sistemáticamente estos puntos, puede resolver la mayoría de los problemas comunes al configurar múltiples sitios web en su servidor dedicado con Nginx.

check_circle Conclusión

Aprovechar toda la potencia de tu servidor dedicado Valebyte para alojar múltiples sitios web con Nginx es un enfoque inteligente, escalable y seguro para cualquier presencia en línea en crecimiento. Desde sitios estáticos simples hasta aplicaciones web complejas, servidores de juegos o plataformas de streaming, la eficiencia de Nginx combinada con recursos dedicados garantiza un rendimiento óptimo. Sigue esta guía para desplegar y gestionar con confianza tu diverso portafolio web. ¿Listo para tomar el control de tu alojamiento web? Explora hoy las robustas soluciones de servidores dedicados de Valebyte y eleva tu infraestructura en línea.

help Preguntas frecuentes

¿Te fue útil esta guía?

servidor dedicado múltiples sitios web Nginx alojamiento de múltiples dominios Nginx hosts virtuales Nginx servidor dedicado alojamiento bare-metal múltiples sitios web Valebyte servidor dedicado Nginx configurar Nginx server blocks configurar múltiples sitios web Linux hosting web servidor dedicado Nginx para administradores de sistemas rendimiento web servidor dedicado
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.