Aloje varios dominios en un servidor o IP con Apache o Nginx
Aprendamos a configurar Apache y Nginx para alojar varios sitios web.
Alojamiento de sitios en el Servidor en la nube da mucha flexibilidad en comparación con alojamiento compartido. Puedes instalar whateComo prefiera, amplíelo o reduzcalo y configúrelo para obtener un mejor rendimiento y optimización de costos.
Si tiene varios sitios comerciales pero no desea alojarlos por separadoately, puedes aprovechar Virtual Server
en servidores web. Echemos un vistazo a este escenario.
Tengo los siguientes dos sitios que me gustaría señalar a mi VM en la nube.
- laboratorio.geekflare.com
- gf.dev
Antes de la implementación, entendamos cómo funciona.
El concepto de tener varios sitios web en una sola instancia de servidor web se denomina Virtual Server
. Se define en el archivo de configuración junto con la URL. Cuando se realiza una solicitud a una URL definida, el servidor web serviría el tráfico del respectivo Document Root
.
Configurar Virtual Host en Apache para alojar múltiples dominios
- Inicie sesión en el servidor HTTP Apache
- Vaya a la ubicación de la configuración de apache. (en la instalación predeterminada, lo encontrará aquí /etc/httpd/conf/httpd.conf)
- Realice una copia de seguridad del archivo httpd.conf
- Créar un
VirtualHost
contenedor como a continuación lo he hecho para dos dominios.
<VirtualHost *:80>
ServerAdmin mail@example.com
DocumentRoot /opt/htdocs/lab
ServerName lab.geekflare.com
ErrorLog logs/lab.geekflare.com-error_log
CustomLog logs/lab.geekflare.com-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin mail@xyz.com
DocumentRoot /opt/htdocs/gf-dev
ServerName gf.dev
ErrorLog logs/gf.dev-error_log
CustomLog logs/gf.dev-access_log common
</VirtualHost>
Nota: Cambiar el valor de ServerAdmin, Raiz del documento, Nombre del servidor, Registro de errores, Registro personalizado basado en su requerimiento
- Reinicie Apache HTTP y pruebe ambas URL.
Configurar Virtual Host en Nginx para alojar múltiples dominios
- Inicie sesión en el servidor Nginx
- Vaya a la ubicación donde instaló Nginx. (en la ubicación predeterminada, lo encontrará aquí / etc / nginx /)
Hay varias formas de lograrlo. O puedes modificar nginx.conf
archivo o archivo personalizado si tiene alguno. También puedes crearate a custom.conf
en la carpeta conf.d. Elija lo que funcione para usted y realice una copia de seguridad si modifica un archivo existente.
- Create un bloque de servidor para ambas URL como se muestra a continuación.
server {
listen 80;
root /opt/htdocs/lab;
index index.html index.htm;
server_name lab.geekflare.com;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 80;
root /opt/htdocs/gf-dev;
index index.html index.htm;
server_name gf.dev;
location / {
try_files $uri $uri/ =404;
}
}
Nota: Cambiar el valor de raíz, nombre del servidor basado en su requerimiento
- Reinicie Nginx y pruebe ambas URL
No olvides actualizarate el registro DNS de su URL para asignarlo a la IP del servidor. Una vez hecho esto, debería poder acceder a las URL que se proporcionan a través de la configuración anterior que realizó.
Para Concluir
Esa fue la guía rápida para alojar múltiples dominios en una sola instancia de servidor web como Apache o Nginx. Una vez que su sitio web esté activo, no olvide probarlo contra vulnerabilidades de seguridad.