实现虚拟主机有三种方式:基于IP的实现、基于端口的实现、基于FQDN的实现 

                          一、基于IP的实现

1.先创建三个站点:

    mkdir /app/site1

    mkdir /app/site2

    mkdir /app/site3

2.在站点里面输入内容:

    echo /app/site1/index.html > site1/index.html

    echo /app/site2/index.html > site2/index.html

    echo /app/site3/index.html > site3/index.html

3.增加三个IP地址:

    ip add a 192.168.93.10/24 dev eth1

    ip add a 192.168.93.20/24 dev eth1

    ip add a 192.168.93.30/24 dev eth1

4.编辑配置文件:

    vim /etc/httpd/conf.d/test.conf

centos6上虚拟主机的实现_虚拟主机

5.启动httpd服务:service httpd start

6.测试:(统一说明下,测试都是在centos7上做的,包括以下两个实验。)

    curl http://192.168.93.10

    curl http://192.168.93.20

    curl http://192.168.93.30

centos6上虚拟主机的实现_虚拟主机_02

注:建立虚拟主机时,主站点可以关闭。每个站点占用一个IP地址,通常使用IP地址访问站点的用户很少;或是配合DNS服务器上使用:

如:vim /etc/hosts

centos6上虚拟主机的实现_实现_03

实现通过名字访问站点:如图所示

centos6上虚拟主机的实现_实现_04

                           二、基于端口的实现

1.编辑配置文件,添加三个端口:

    vim /etc/httpd/conf.d/test.conf

centos6上虚拟主机的实现_虚拟主机_05

2.重启网络服务:

    service network restart

3.重启httpd服务:

    service httpd restart

(注:这里可能会出现httpd服务起不来,查看是不是因为selinux的设置,如果是,进入配置文件修改设置,设置完重启。或者通过命令临时修改:setenforce 0

centos6上虚拟主机的实现_虚拟主机_06


centos6上虚拟主机的实现_实现_07

4.测试:

centos6上虚拟主机的实现_虚拟主机_08

                         三、基于FQDN的实现

1.在hosts文件中添加站点:

    vim /etc/hosts

centos6上虚拟主机的实现_虚拟主机_09

2.编辑配置文件:

    vim /etc/httpd/conf.d/test.conf 

centos6上虚拟主机的实现_实现_10

3.启动服务:service httpd restart(或使用命令!ser)

4.测试:

centos6上虚拟主机的实现_实现_11

   centos7与centos6大致相同,只是必须对目录授权,且不需要NameVirutalHost指令。

注:一般虚拟机不要与main主机混用;因此,要使用虚拟主机,一般先禁用main主机。禁用方法:注释中心主机的DocumentRoot指令即可

   以上就是虚拟主机的实现了,欢迎多多指教。