当前位置 主页 > 服务器问题 > Linux/apache问题 >

    linux7下虚拟主机的三种实现方式

    栏目:Linux/apache问题 时间:2019-10-14 20:13

    一、 相同IP地址,不同端口号

    虚拟主机1:主机IP地址为172.16.30.20,端口号为80(默认端口),DocumentRoot是/var/www/vhost1,在DocumentRoot目录下创建虚拟主机站点主页文件。

    [root@rhel7 ~]# cd /var/www/
    [root@rhel7 www]# mkdir vhost1
    [root@rhel7 www]# cd vhost1/
    [root@rhel7 vhost1]# vim index.html
    [root@rhel7 vhost1]# cat index.html
    this is the vhost1

    虚拟主机2:主机IP地址为172.16.30.20,端口号为8080,DocumentRoot是/var/www/vhost2,在DocumentRoot目录下创建虚拟主机站点主页文件。

    [root@rhel7 ~]# cd /var/www/
    [root@rhel7 www]# mkdir vhost2
    [root@rhel7 www]# cd vhost2/
    [root@rhel7 vhost2]# vim index.html
    [root@rhel7 vhost2]#
    [root@rhel7 vhost2]# cat index.html
    this is the vhost2

    编辑虚拟机主机配置文件httpd-vhosts.conf

    [root@rhel7 ~]# vim /etc/httpd/conf.d/httpd-vhosts.conf
    <VirtualHost 172.16.30.10:80>
      DocumentRoot "/var/www/vhost1"
    </VirtualHost>
    Listen 8080
    <VirtualHost 172.16.30.10:8080>
      DocumentRoot "/var/www/vhost2"
    </VirtualHost>
    [root@rhel7 ~]# systemctl restart httpd
    [root@rhel7 ~]# firewall-cmd --add-port=8080/tcp --permanent
    success
    [root@rhel7 ~]# firewall-cmd --reload
    success

    访问测试:


    二、 不同IP地址,相同端口号

    虚拟主机1:主机IP地址为172.16.30.20,端口号为80(默认端口),DocumentRoot是/var/www/vhost1,在DocumentRoot目录下创建虚拟主机站点主页文件。

    虚拟主机2:主机IP地址为172.16.30.200,端口号为80(默认端口),DocumentRoot是/var/www/vhost2,在DocumentRoot目录下创建虚拟主机站点主页文件。

    [root@rhel7 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
    TYPE=Ethernet
    BOOTPROTO=none
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=bde41fa3-f559-4de2-ba9a-857fed211aac
    DEVICE=ens33
    ONBOOT=yes
    DNS1=127.0.0.1
    ZONE=public
    IPADDR=172.16.30.10
    PREFIX=24
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPADDR1=172.16.30.100
    PREFIX1=24
    [root@rhel7 ~]# vim /etc/httpd/conf.d/httpd-vhosts.conf
    <VirtualHost 172.16.30.10:80>
      DocumentRoot "/var/www/vhost1"
    </VirtualHost>
    
    <VirtualHost 172.16.30.100:80>
      DocumentRoot "/var/www/vhost2"
    </VirtualHost>
    
    [root@rhel7 ~]# systemctl restart httpd

    访问测试:



    三、 相同IP地址,相同端口号,不同FQDN

    虚拟主机1:主机IP地址为172.16.30.20,端口号为80(默认端口),FQDN为vhost1.example.com,DocumentRoot是/var/www/vhost1,在DocumentRoot目录下创建虚拟主机站点主页文件。

    虚拟主机2:主机IP地址为172.16.30.20,端口号为80(默认端口),FQDN为vhost2.example.com,DocumentRoot/var/www/vhost2,在DocumentRoot目录下创建虚拟主机站点主页文件。