Cómo configurar hosts virtuales basados ​​en nombre y basados ​​en IP (bloques de servidor) con NGINX

¡Tecmint adora Nginx!

Cómo configurar hosts virtuales basados ​​en nombre y basados ​​en IP (bloques de servidor) con NGINX

En un período de tiempo relativamente corto desde que fue desarrollado y puesto a disposición (un poco más de 10 años), Nginx. ha experimentado un crecimiento sostenido y constante entre los servidores web debido a su alto rendimiento y bajo uso de memoria.

 Nginx basado en nombre e IP-Alojamiento virtual basado en  Alojamiento virtual basado en nombre y basado en IP de Nginx Alojamiento virtual basado en nombre y basado en IP de Nginx

Dado que Nginx. es un software gratuito y de código abierto, ha sido adoptado por miles de administradores de servidores alrededor el mundo, no solo en servidores Linux y * nix, sino también en Microsoft Windows.

No te pierdas : Alojamiento virtual basado en IP y basado en nombres Apache

Para aquellos de nosotros más utilizados a Apache. Nginx. puede tener una curva de aprendizaje algo empinada (al menos ese fue mi caso) pero sin duda vale la pena una vez que configura un par de sitios y comienza a ver el estadísticas de tráfico y uso de recursos.

En este artículo explicaremos cómo utilizar Nginx para configurar alojamiento virtual basado en nombre. y basado en ip. en Servidores CentOS. RHEL 7. y Debian 8. y derivados, comenzando con Ubuntu 15.04 y sus derivados.

Nuestro escenario de prueba para este artículo es el siguiente:

  1. Sistema operativo. servidor Debian 8 Jessie [IP 192.168.0.25]
  2. Puerta de enlace. enrutador [ IP 192.168.0.1]
  3. Servidor web. Nginx 1.6.2-5
  4. Dominios ficticios. www.tecmintlovesnginx.com y www.nginx meanspower.com.

Instalación del servidor web Nginx

Si aún no lo ha hecho, instale Nginx antes de continuar. Si necesita ayuda para comenzar, una búsqueda rápida de nginx en este sitio arrojará varios artículos sobre este tema. Haga clic en el icono de la lupa en la parte superior de esta página y busque la palabra clave nginx. Si no sabe cómo buscar artículos en este sitio, no se preocupe, aquí hemos agregado enlaces a los artículos de nginx, simplemente revise e instálelo según sus respectivas distribuciones de Linux.

  1. Instale y compile Nginx desde fuentes en RHEL/CentOS 7
  2. Instale el servidor web Nginx en Debian 8
  3. Instale Nginx con MariaDB y PHP/PHP-FPM en Fedora 23
  4. Instale Nginx Web Server en Ubuntu 15.10 Server/Desktop
  5. Proteja con contraseña los directorios de sitios web de Nginx

Entonces prepárese para continuar con el resto de este tutorial.

Creación de hosts virtuales basados ​​en nombres en Nginx

Como estoy seguro ya lo sabe, un host virtual es un sitio web que es servido por Nginx en un solo VPS en la nube o servidor físico. Sin embargo, en los documentos de Nginx encontrará el término “bloques de servidor” en su lugar, pero básicamente son lo mismo con nombres diferentes.

El primer paso para configurar hosts virtuales es crear uno o más bloques de servidor (en nuestro caso crearemos dos, uno para cada dominio ficticio) en el archivo de configuración principal (/etc/nginx/nginx.conf. o dentro de /etc/nginx/sites-disponible.

Aunque el nombre de los archivos de configuración en este directorio (sitios disponibles). se puede establecer como desee, es una buena idea utilizar el nombre de los dominios, y además optamos por agregar la extensión .conf para indicar que se trata de archivos de configuración.

Estos bloques de servidor pueden ser relativamente complejos, pero en su forma básica constan de lo siguiente contenido:

En /etc/nginx/sites-available/tecmintlovesnginx.com.conf.

servidor listen 80; nombre_servidor tecmintlovesnginx.com www.tecmintlovesnginx.com; access_log/var/www/logs/tecmintlovesnginx.access.log; error_log/var/www/logs/tecmintlovesnginx.error.log error; root/var/www/tecmintlovesnginx.com/public_html; index index.html index.htm;

En /etc/nginx/sites-available/nginxmeanspower.com.conf.

servidor escuchar 80; nombre_servidor nginxmeanspower.com www.nginxmeanspower.com; access_log/var/www/logs/nginxmeanspower.access.log; error_log/var/www/logs/nginxmeanspower.error.log error; root/var/www/nginxmeanspower.com/public_html; index index.html index.htm;

Puede usar los bloques anteriores para comenzar a configurar sus hosts virtuales, o puede crear los archivos con el esqueleto básico de /etc/nginx/sites-available/default. ( Debian. o /etc/nginx/nginx.conf.default. ( CentOS. .

Una vez copiados, cambie sus permisos y propiedad :

# chmod 660/etc/nginx/sites-available/tecmintlovesnginx.com.conf # chmod 660/etc/nginx/sites-available/nginxmeanspower.com.conf Debian y derivados # chgrp www-data/etc/nginx/sites-available/tecmintlovesnginx.com.conf # chgrp www-data/etc/nginx/sites-available/nginxmeanspower.com.conf CentOS y RHEL # chgrp nginx/etc/nginx/sites-available/tecmintlovesnginx.com.conf # chgrp nginx/etc/nginx/sites-available/nginxmeanspower.com.conf

Cuando haya terminado, debe eliminar el archivo de muestra o cambiarle el nombre por otro para evitar confusiones o conflictos.

Tenga en cuenta que también deberá crear el directorio para los registros (/var/www/logs) y otorgue al usuario de Nginx ( nginx. o www-data. dependiendo de si está ejecutando CentOS o Debian) permisos de lectura y escritura sobre él:

# mkdir/var/www/logs # chmod-R 660/var/www/logs # chgrp /var/www/logs

Los hosts virtuales ahora deben habilitarse creando un enlace simbólico a este archivo en el directorio habilitado para sitios:

# ln-s/etc/nginx/sites-available/tecmintlovesnginx.com.conf/etc/nginx/sites-enabled/tecmintlovesnginx.com.conf # ln-s/etc/nginx/sites-available/nginxmeanspower.com.conf/etc/nginx/sites-enabled/nginxmeanspower.com.conf

A continuación, cree un archivo html de muestra llamado index.html dentro de/var/www//public_html para cada uno de los hosts virtuales (reemplace . según sea necesario). Modifique el siguiente código según sea necesario:

Tecmint adora Nginx

¡Tecmint adora Nginx!