servicio apache para construir un servidor web virtual

Uno, el tipo de servidor web virtual

1. Introducción al alojamiento web virtual

El servidor web virtual se refiere a la ejecución de varios sitios web en el mismo servidor, cada uno de los cuales en realidad no ocupa todo el servidor de forma independiente, por lo que se denomina servidor web "virtual". Los servicios de alojamiento web virtual pueden hacer un uso completo de los recursos de hardware del servidor, lo que reduce en gran medida el costo de construcción y operación del sitio web.

El uso del servicio httpd puede ser muy conveniente para construir un servidor virtual, solo es necesario ejecutar un servicio httpd para admitir una gran cantidad de sitios web al mismo tiempo.

2. Tres tipos de host web virtual compatibles con el servicio apache

2.1, según el tipo de nombre de dominio

Basado en el nombre de dominio: use un nombre de dominio diferente para cada host virtual, pero la dirección IP correspondiente es la misma. Este es el tipo de servidor web virtual más utilizado .

2.2, según el tipo de dirección IP

Basado en la dirección IP: use diferentes nombres de dominio para cada host virtual, y sus correspondientes direcciones IP también son diferentes. Este método requiere múltiples interfaces de red para el servidor, por lo que la aplicación no es muy extensa.

2.3. Tipo de puerto

Basado en puerto: este método no usa nombres de dominio ni direcciones IP para distinguir el contenido de un sitio diferente, pero usa diferentes números de puerto TCP, por lo que los usuarios deben especificar el número de puerto al mismo tiempo para acceder a diferentes sitios virtuales.

Nota : Debido a que los diferentes tipos de hosts virtuales tienen diferentes mecanismos de distinción, se recomienda no usarlos al mismo tiempo para evitar confusiones.

En segundo lugar, cree un servidor web virtual basado en dominios

1. Proporcionar resolución de nombres de dominio

Primero, debe registrar el nombre de dominio de cada sitio web virtual con el proveedor de servicios DNS, de modo que cuando visite cualquiera de los sitios web virtuales, eventualmente visite la misma dirección IP: la dirección IP del servidor que realmente admite todos los sitios web virtuales.

Supongamos que tenemos dos nombres de dominio www.wlm.com y www.wat.com. La dirección IP correspondiente es 20.0.0.58. Podemos utilizar dos nombres de dominio como dos sitios web virtuales servidos por apache y que correspondan a una dirección IP 20.0.0.58 al mismo tiempo.

2. Preparar documentos web

Prepare directorios de sitios web y documentos web para cada servidor web virtual. Proporcione un archivo de página de inicio que contenga contenido diferente para cada host web virtual.

[root@localhost ~]# mkdir -p /var/www/html/wlmcom
[root@localhost ~]# mkdir -p /var/www/html/watcom
[root@localhost opt]# echo "<h1>www.wlm  web1</h1>" > /var/www/html/wlm/index.html
[root@localhost opt]# echo "<h1>www.wat  web2</h1>" > /var/www/html/wat/index.html
3. Cambiar el archivo de configuración

En el archivo de configuración principal del servicio Apache, si desea habilitar un servidor web virtual basado en un dominio, generalmente debe cambiar las dos áreas siguientes

  • Configuración del área de host virtual: utilice la configuración de área <VirtualHost listening address> ... para establecer el contenido de configuración independiente para cada host web virtual. Debe incluir al menos los elementos de configuración del nombre del sitio web del host virtual y el directorio raíz de la página web; se pueden agregar otros elementos de configuración (como administrar buzones de correo, registros de acceso, etc.) según las necesidades reales.

  • Configuración de permisos para acceder al directorio raíz de la página web: utilice la configuración de área <Ubicación del directorio del directorio> ... para establecer los permisos de acceso para el directorio del sitio web de cada host web virtual, como permitir que cualquiera acceda. El acceso al directorio puede heredar los permisos de autorización de su directorio principal, por lo que puede autorizar directamente los permisos de acceso para la carpeta principal para simplificar la configuración. Cuando la cantidad de hosts web virtuales es grande, se recomienda utilizar un archivo de configuración de host virtual separado.

[root@localhost opt]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 
.......                  //省略部分信息
  //可在此位置手动创建独立的访问目录权限                            
<VirtualHost *:80>           //设置域名 www.wlm.com 虚拟站点区域
    DocumentRoot "/var/www/html/wlm"    //服务访问域名网页的路径
    ServerName www.wlm.com      //服务访问的域名
    ErrorLog "logs/www.wlm.com.error_log"      //错误访问日志存放路径
    CustomLog "logs/www.wel.com.access_log" common      //访问日志存放路径
        <Directory "/var/www/html">        //设置目录访问权限
        Require all granted              //允许所有访问
        </Directory>
</VirtualHost>

<VirtualHost *:80>    //设置域名 www.wlm.com 虚拟站点区域。
    DocumentRoot "/var/www/html/wat"    //服务访问域名网页的路径
    ServerName www.wat.com    //服务访问的域名
    ErrorLog "logs/www.wat.com.error_log"     //错误访问日志存放路径
    CustomLog "logs/www.wat.com.access_log" common   //访问日志存放路径
        <Directory "/var/www/html">     //设置目录访问权限
        Require all granted   //允许所有访问
        </Directory>
</VirtualHost>

Luego cargue estas configuraciones habilitando "Incluir conf / extra / httpd-vhosts.conf" en el archivo httpd.conf. Esto puede minimizar los cambios en el archivo httpd.conf y facilitar el mantenimiento del contenido de la configuración.

[root@localhost opt]# vim /usr/local/httpd/conf/httpd.conf 
.......                  //省略部分信息
Include conf/extra/httpd-vhosts.conf //加载独立的配置文件,将行首的 "#" 删除
.......                  //省略部分信息
[root@localhost opt]# systemctl restart httpd   //重启httpd服务
4. El cliente accede al servidor web virtual.

Primero, agregue la asignación del nombre de dominio dns en el archivo de hosts del cliente, y luego, en el navegador del cliente, use el nombre del sitio web para visitar diferentes nombres de dominio respectivamente, y podrá ver el contenido de la página web previamente configurada, lo que significa nombre de dominio virtual basado La configuración del host es correcta. Si no puede ver este resultado, debe verificar los archivos de la página de inicio de los dos sitios, verificar los errores de configuración de acuerdo con el proceso anterior y, si es necesario, borrar la memoria caché del navegador y visitar nuevamente.

Linux的hosts文件路径为:/etc/hosts  
20.0.0.58    www.wlm.com      //添加内容
20.0.0.58    www.wat.com
window的hosts文件路径为:C:\Windows\System32\drivers\etc\hosts
20.0.0.58    www.wlm.com         //添加内容
20.0.0.58    www.wat.com

El resultado de la prueba muestra:
la página de prueba cuyo nombre de dominio es www.wlm.com es la página de prueba
Inserte la descripción de la imagen aquí
de www.wat.com
Inserte la descripción de la imagen aquí

En tercer lugar, cree un servidor web virtual basado en la dirección IP

El proceso de construcción de una dirección IP o un host virtual basado en un puerto es similar al de un host virtual basado en un dominio. También debe proporcionar una resolución de nombre de dominio, preparar documentos web, ajustar la configuración httpd, reiniciar el servicio httpd y luego acceder al host virtual en el cliente para realizar pruebas. . La principal diferencia es que los diferentes tipos de hosts virtuales tienen configuraciones ligeramente diferentes en el archivo httpd.conf.

Para los hosts virtuales basados ​​en direcciones IP, cada host web virtual utiliza una dirección IP diferente, pero todos brindan servicios de navegación web a través del mismo servidor httpd. Debido a esto, los servidores utilizados para soportar estos hosts web virtuales también necesitan una gran cantidad de interfaces de red, que a menudo son inconvenientes en aplicaciones prácticas. Por lo tanto, los hosts virtuales basados ​​en direcciones IP no se utilizan tan ampliamente como los hosts virtuales basados ​​en dominios.

Cambiar la configuración del archivo httpd.conf

[root@localhost opt]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 
.......                  //省略部分信息
  //可在此位置手动创建独立的访问目录权限                            
<VirtualHost 20.0.0.58>           //基于20.0.0.58IP的虚拟web主机配置
    DocumentRoot "/var/www/html/wlm"    //服务访问域名网页的路径
    ServerName www.wlm.com      //服务访问的域名
    ErrorLog "logs/www.wlm.com.error_log"      //错误访问日志存放路径
    CustomLog "logs/www.wel.com.access_log" common      //访问日志存放路径
        <Directory "/var/www/html">        //设置目录访问权限
        Require all granted              //允许所有访问
        </Directory>
</VirtualHost>

<VirtualHost 20.0.0.55>    //基于20.0.0.55的虚拟web主机的配置
    DocumentRoot "/var/www/html/wat"    //服务访问域名网页的路径
    ServerName www.wat.com    //服务访问的域名
    ErrorLog "logs/www.wat.com.error_log"     //错误访问日志存放路径
    CustomLog "logs/www.wat.com.access_log" common   //访问日志存放路径
        <Directory "/var/www/html">     //设置目录访问权限
        Require all granted   //允许所有访问
        </Directory>
</VirtualHost>
[root@localhost opt]# vim /usr/local/httpd/conf/httpd.conf 
.......                  //省略部分信息
Include conf/extra/httpd-vhosts.conf //加载独立的配置文件,将行首的 "#" 删除
.......                  //省略部分信息
[root@localhost opt]# systemctl restart httpd   //重启httpd服务

Alojamiento web virtual basado en IP20.0.0.58 Alojamiento web virtual
Inserte la descripción de la imagen aquí
basado en 20.0.0.50
Inserte la descripción de la imagen aquí

Cuarto, cree un servidor web virtual basado en puertos

Los hosts virtuales basados ​​en puertos generalmente solo se utilizan para el mismo sitio web. Los nombres de los sitios web y las direcciones IP suelen ser los mismos, pero se utilizan diferentes puertos TCP para proporcionar acceso de servicio a diferentes contenidos web. Al acceder a un servidor web con un puerto diferente al 80 en el navegador, debe indicar claramente el número de puerto del servidor, como visitar http://www.wat.com:55/ o http: //20.0.0.58.55/.

[root@localhost opt]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 
<VirtualHost 20.0.0.58:80>    //基于80端口的虚拟web主机配置
    DocumentRoot "/var/www/html/wlm"
    ServerName www.wlm.com
    ErrorLog "logs/www.wlm.com.error_log"
    CustomLog "logs/www.wel.com.access_log" common
        <Directory "/var/www/html">
        Require all granted
        </Directory>
</VirtualHost>

<VirtualHost 20.0.0.58:55>   //基于55端口的web主机配置
    DocumentRoot "/var/www/html/wat"
    ServerName www.wat.com
    ErrorLog "logs/www.wat.com.error_log"
    CustomLog "logs/www.wat.com.access_log" common
        <Directory "/var/www/html">
        Require all granted
        </Directory>
</VirtualHost>

Al configurar un servidor web virtual basado en puerto, debe especificar el número de puerto TCP que se monitoreará a través de varios elementos de configuración de escucha, y debe cambiar el archivo de configuración httpd.conf.

[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf   //编辑配置文件
// 使用vim编辑器末行模式/搜索Listen 80服务器默认监听的端口,在其下一行添加配置
.......                  //省略部分信息
Listen 80
Listen 55     //添加监听55端口
.......                  //省略部分信息
Include conf/extra/httpd-vhosts.conf //加载独立的配置文件,将行首的 "#" 删除
.......                  //省略部分信息
[root@localhost opt]# systemctl restart httpd   //重启httpd服务

Visite la máquina virtual web basada en el puerto 80
Inserte la descripción de la imagen aquí

Visite la máquina virtual web basada en el puerto 55. Nota: Yo personalmente recomiendo un servidor web virtual basado en
Inserte la descripción de la imagen aquí
dominio para el entorno de producción.

Supongo que te gusta

Origin blog.csdn.net/wulimingde/article/details/108431078
Recomendado
Clasificación