Httpd基础之搭建httpd服务器并提供两个基于名称的虚拟主机

说明

所谓虚拟主机不外乎就是一个物理主机上存在多个虚拟站点;通常httpd的虚拟主机有三类,分别是基于ip的虚拟主机、基于端口的虚拟主机以及基于FQDN的虚拟主机;不难理解基于ip的虚拟主机就是以不同IP来区分不同的虚拟主机;基于端口的虚拟主机就是以不同端口区分不同的虚拟主机,基于fqdn的虚拟主机就是以不同用户请求报文中的host首部来区分的虚拟主机。

虚拟主机

httpd里虚拟主机的配置方法是由<virtualhost IP:PORT> …</virtualhost>
配置块来配置;其中httpd2.2在启用虚拟主机配置前需要将其中心主机禁用,禁用方法很简单,就是把中心主机里的documentroot指令注释即可;在httpd2.4中,我们就不需要去关闭中心主机,在配置了虚拟主机以后,中心主机自然失效,不需要人为手动注释;对于在中心主机里可配置的指令大多数都可以用于虚拟主机配置块中;用法和中心主机里配置几乎没有啥差别

示例:基于IP的虚拟主机实现

提供两个基于IP的虚拟主机,一个是192.168.6.129:80,一个是192.168.6.131:80的主机;我们在对应目录下创建好主页文件,重载配置文件,这两个虚拟主机就可以生效了;

准备条件:两张网卡,分别表示两个不同的虚拟主机

在这里插入图片描述

步骤:

1.在/etc/httpd/conf.d下创建test.conf配置文件(/etc/httpd/conf.d目录下创建*.conf结尾的文件都会被自动读取为配置文件)

<virtualhost 192.168.6.129>  #虚拟机IP访问地址
        servername www.X.com  #服务域名
        documentroot /web/vhosts/x   #主网站存放目录
        <directory /web/vhosts/x>
                options none
                allowoverride none
                require all granted #允许所有人访问
        </directory>
        errorlog /var/log/httpd/x_error.log  #错误日志存放目录
        LogLevel warn  #错误等级
        customlog /var/log/httpd/x_access.log combined  #访问日志
</virtualhost>

<virtualhost 192.168.6.131>  #虚拟机IP访问地址
        servername www.Y.com #服务域名
        documentroot /web/vhosts/y #主网站存放目录
        <directory /web/vhosts/y>
                options none
                allowoverride none
                require all granted  #允许所有人访问
        </directory>
        errorlog /var/log/httpd/www2_error.log  #错误日志存放目录
        LogLevel warn  #错误等级
        customlog /var/log/httpd/y_access.log combined #访问日志
</virtualhost>

2.创建两个虚拟机对应的文件存放目录

mkdir -p web/vhosts/{x,y}

3.创建对应目录下的主页面index.html

3.1 在/web/vhosts/x/目录下
vim index.html
<h1>
This is www.X.com</br>
hostname : www.X.com</br>
IP : 192.168.6.129</br>
port : 80
</h1>

3.2在/web/vhosts/y/目录下
<h1>
This is www.Y.com</br>
hostname : www.Y.com</br>
IP : 192.168.6.131</br>
port : 80
</h1>

4.重启httpd 服务

4.1检查语法是否有错误
httpd -t

4.2重启httpd 服务
systemctl restart httpd

结果展示:
在这里插入图片描述
在这里插入图片描述
日志文件自动生成
在这里插入图片描述
两个目录虚拟模拟两个站点
在这里插入图片描述

2.示例:基于端口的虚拟主机实现

很简单 只需要在原本/etc/httpd/conf.d/test.conf配置文件下稍微修改下就可以了
红框就是修改的部分,这样就可以实现访问两个不同的端口实现访问不同的虚拟站点了
修改完后重启下httpd 服务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值