构建虚拟web主机

构建虚拟Web主机

虚拟Web主机

虚拟 Web 主机指的是在同一台服务器中运行多个 Web 站点,其中的每一个站点实际上并不独立占用整个服务器,因此被称为“虚拟”Web 主机。通过虚拟 Web 主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。
使用 httpd 可以非常方便地构建虚拟主机服务器,只需要运行一个 httpd 服务就能够同时支撑大量的 Web 站点。httpd 支持的虚拟主机类型包括以下三种。

httpd支持的虚拟主机类型

  • 基于域名:为每个虚拟主机使用不同的域名,但是其对应的 IP 地址是相同的。例如,www.51xit.top 和 www.52xit.top 站点的 IP 地址都是 20.0.0.13。这是使用最为普遍的虚拟 Web 主机类型。
  • 基于 IP 地址:为每个虚拟主机使用不同的域名,且各自对应的 IP 地址也不相同。这种方式需要为服务器配备多个网络接口,因此应用并不是非常广泛。(安全)
  • 基于端口:这种方式并不使用域名、IP 地址来区分不同的站点内容,而是使用了不同的TCP 端口号,因此用户在浏览不同的虚拟站点时需要同时指定端口号才能访问

1.基于域名构建虚拟主机

●为虚拟主机准备网页文档

[root@www ~]# mkdir -p /opt/www/html/51xit.top
[root@www ~]# mkdir -p /opt/www/html/52xit.top
[root@www ~]# echo "<h1>www.51xit.top</h1>" > /opt/www/html/51xit.top/index.html
[root@www ~]# echo "<h1>www.52xit.top</h1>" > /opt/www/html/52xit.top/index.html

●添加虚拟主机配置
[root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
    ServerAdmin admin@51xit.top
    DocumentRoot "/opt/www/html/51xit.top"
    ServerName www.51xit.top
    ErrorLog "logs/www.51xit.top.error_log"
    CustomLog "logs/www.51xit.top.access_log" common
        <Directory "/opt/www/html">
        Require all granted
        </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin admin@52xit.top
    DocumentRoot "/opt/www/html/52xit.top"
    ServerName www.52xit.top
    ErrorLog "logs/www.52xit.top.error_log"
    CustomLog "logs/www.52xit.top.access_log" common
        <Directory "/opt/www/html">
        Require all granted
        </Directory>
</VirtualHost>

[root@www ~]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf
[root@www ~]# systemctl restart httpd 

●验证
登录客户机访问www.51xit.top    在访问www.52xit.top

2.基于IP构建虚拟主机

主机上有2块网卡
VM1网卡:20.0.0.13
VM1网卡:20.0.0.14

添加另外一块网卡VM1,配置ens37网卡
[root@server ~]# nmcli connection
名称        UUID                                  类型            设备
ens33       98fe6f53-9800-433f-89ef-cf51f0b3ae70  802-3-ethernet  ens33
virbr0      733a1781-acc6-4002-b9bc-e287bcef8613  bridge          virbr0
有线连接 1  37d1dea9-83fe-3f64-8bf1-6c844ca846eb  802-3-ethernet  ens37
[root@localhost 51xit.top]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens37
[root@localhost network-scripts]# vi ifcfg-ens37
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=20.0.0.14
NETMASK=255.255.255.0
GATEWAY=20.0.0.2
DNS=20.0.0.2
DEFROUT=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
UUID=37d1dea9-83fe-3f64-8bf1-6c844ca846eb
DEVICE=ens37
ONBOOT=yes


[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ifdown ens37
[root@localhost network-scripts]# ifup ens37

[root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

<VirtualHost 20.0.0.13:80>                         ####设置 51xit.top 虚拟站点区域
DocumentRoot "/opt/www/html/51xit.top" 
ServerName www.51xit.top
...... 
</VirtualHost>

<VirtualHost 20.0.0.14:80>                         ####设置 52xit.top 虚拟站点区域
DocumentRoot "/opt/www/html/52xit.top" 
ServerName www.52xit.top
...... 
</VirtualHost>

[root@www ~]# vim /usr/local/httpd/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf                                   ####加载独立的配置文件

[root@www ~]# systemctl restart httpd                             ####重启服务使新配置生效   

####验证####
更改客户机hosts映射关系
20.0.0.13   www.51xit.top
20.0.0.14   www.52xit.top

登录客户机访问20.0.0.13    在访问20.0.0.14

3.基于端口构建虚拟主机

[root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost 20.0.0.13:80>                                     ####设置 51xit.top 虚拟站点区域
DocumentRoot "/opt/www/html/51xit.top"
ServerName www.51xit.top

</VirtualHost>
<VirtualHost 20.0.0.14:8080>                                  ####设置 52xit.top 虚拟站点区域
DocumentRoot "/opt/www/html/52xit.top" 
ServerName www.52xit.top

</VirtualHost>

[root@www ~]# vi /usr/local/httpd/conf/httpd.conf       ####省略部分内容
Include conf/extra/httpd-vhosts.conf                               ####加载独立的配置文件
Listen 20.0.0.13:80                                                   ####监听 80 端口
Listen 20.0.0.14:8080                                               ####监听 8080 端口

[root@www ~]# systemctl restart httpd                             ####重启服务使新配置生效   
####验证####
更改客户机hosts映射关系
20.0.0.13   www.51xit.top
20.0.0.14   www.52xit.top

登录客户机访问20.0.0.13:80    在访问20.0.0.14:8080
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值