zoukankan      html  css  js  c++  java
  • Apache的虚拟主机功能

    Apache的虚拟主机功能 (Virtual Host) 是可以让一台服务器基于IP、主机名或端口号实现提供多个网站服务的技术

    第一种情况:基于IP地址

    这种情况很常见:一台服务器拥有多个IP地址,当用户访问不同IP地址时显示不同的网站页面。

    第1步为网卡添加多个IP地址:(方法不唯一)

     重新启动网卡设备后使用ping命令检查是否配置正确

    第2步:分别创建网站数据目录。
    在/home/wwwroot目录下分别创建三个网站数据目录:

    mkdir -p /home/wwwroot/100

     mkdir -p /home/wwwroot/110

     mkdir -p /home/wwwroot/120

    分别在这三个网站数据目录中写入主页文件,内容为该网站的IP地址:

    [root@linuxprobe ~]# echo "IP:192.168.5.100" > /home/wwwroot/100/index.html

    [root@linuxprobe ~]# echo "IP:192.168.5.110" > /home/wwwroot/110/index.html

    [root@linuxprobe ~]# echo "IP:192.168.5.120" > /home/wwwroot/120/index.html

    第3步:在配置文件中描述基于IP地址的虚拟主机。

    编辑主配置文件(/etc/httpd/conf/httpd.conf),在主配置文件的末尾按下面格式定义虚拟主机信息:

    <VirtualHost 192.168.5.100>
    DocumentRoot /home/wwwroot/100
    ServerName www.haozhikuan-hbza.com
    <Directory /home/wwwroot/100 >
    AllowOverride None
    Require all granted
    </Directory>
    </VirtualHost>

    <VirtualHost 192.168.5.110>
    DocumentRoot /home/wwwroot/110
    ServerName bbs.haozhikuan-hbza.com
    <Directory /home/wwwroot/110 >
    AllowOverride None
    Require all granted
    </Directory>
    </VirtualHost>

    <VirtualHost 192.168.5.120>
    DocumentRoot /home/wwwroot/120
    ServerName tech.haozhikuan-hbza.com
    <Directory /home/wwwroot/120 >
    AllowOverride None
    Require all granted
    </Directory>
    </VirtualHost>

     

     直接在末尾复制,然后重启服务即可

    第4步:分别访问192.168.5.100/110/120验证结果:

     

     

    第二种情况:基于主机名

    当服务器无法为每个网站都分配到独立IP地址时,可以试试让Apache服务程序自动识别来源主机名或域名然后跳转到指定的网站

    第1步:配置网卡IP地址与hosts文件。

    hosts文件作用是定义IP地址与主机名的映射关系,即强制将某个主机名地址解析到指定的IP地址

    vim /etc/hosts

    //每行只能写一条,格式为IP地址+空格+主机名(域名)。

    第2步:分别创建网站数据目录:

     mkdir -p /home/wwwroot/www

    mkdir -p /home/wwwroot/bbs

    mkdir -p /home/wwwroot/tech

    分别在网站目录中写入首页文件:

    echo "www.haozhikuan-hbza.com" > /home/wwwroot/www/index.html

    echo "www.haozhikuan-hbza.com" > /home/wwwroot/bbs/index.html

    echo "www.haozhikuan-hbza.com" > /home/wwwroot/tech/index.html

     

    第3步:在配置文件中描述基于主机名称的虚拟主机。
    编辑主配置文件(/etc/httpd/conf/httpd.conf),在主配置文件的末尾按下面格式定义虚拟主机信息:

    <VirtualHost 192.168.5.100>

    DocumentRoot "/home/wwwroot/www"

    ServerName "www.haozhikuan-hbza.com"

    <Directory "/home/wwwroot/www">

    AllowOverride None

    Require all granted

    </directory>

    </VirtualHost>

    <VirtualHost 192.168.5.110>

    DocumentRoot "/home/wwwroot/bbs"

    ServerName "bbs.haozhikuan-hbza.com"

    <Directory "/home/wwwroot/bbs">

    AllowOverride None

    Require all granted

    </Directory>

    </VirtualHost>

    <VirtualHost 192.168.5.120>

    DocumentRoot "/home/wwwroot/tech"

    ServerName "tech.haozhikuan-hbza.com"

    <Directory "/home/wwwroot/tech">

    AllowOverride None

    Require all granted

    </directory>

    </VirtualHost>

     复制重启服务即可

    第4步:分别访问网站验证结果

     

    第三种情况:基于端口号

    我们可以让服务器开启多个服务端口后,然后让用户能够通过访问服务器的指定端口来找到想要的网站。

    第1步:配置服务器的IP地址:

    第2步:分别创建网站数据目录。
    分别创建端口为6111,6222的网站数据目录:

     mkdir -p /home/wwwroot/6111

    mkdir -p /home/wwwroot/6222

    分别在网站数据目录中写入不同内容的主页文件:

    [root@linuxprobe ~]# echo "port:6111" > /home/wwwroot/6111/index.html

    [root@linuxprobe ~]# echo "port:6222" > /home/wwwroot/6222/index.html

    第3步:在配置文件中描述基于端口号的虚拟主机。
    编辑主配置文件(/etc/httpd/conf/httpd.conf),找到约在42行的Listen 80,并在下面追加:

    Listen 6111
    Listen 6222

    然后在主配置文件的末尾按下面格式定义虚拟主机信息:

    <VirtualHost 192.168.5.100:6111>
    DocumentRoot “/home/wwwroot/6111”
    ServerName www.haozhikuan-hbza.com
    <Directory “/home/wwwroot/6111”>
    AllowOverride None
    Require all granted
    </Directory>
    </VirtualHost>

    <VirtualHost 192.168.5.100:6222>
    DocumentRoot “/home/wwwroot/6222”
    ServerName bbs.haozhikuan-hbza.com
    <Directory “/home/wwwroot/6222”>
    AllowOverride None
    Require all granted
    </Directory>
    </VirtualHost>

     

    第4步:分别访问网站验证结果:

     

     

    注意:以上三种情况均在SElinux禁用情况下进行实验的,每次实验最好还原上一次快照,防止配置文件冲突

    编辑主配置文件(/etc/httpd/conf/httpd.conf),在主配置文件的末尾按下面格式定义虚拟主机信息,记住这个路径!

     

     

  • 相关阅读:
    Vue基本使用
    缓存数据库
    Web框架
    爬虫基础知识及scrapy框架使用和基本原理
    轮播组件/瀑布流/组合搜索/KindEditor插件
    Model&Form&ModelForm拾遗
    评论操作展示
    评论操作
    windows 下安装 redis
    Notepad++ 列块模式编辑,替换换行符
  • 原文地址:https://www.cnblogs.com/hzk001/p/11748204.html
Copyright © 2011-2022 走看看