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),在主配置文件的末尾按下面格式定义虚拟主机信息,记住这个路径!

Apache的虚拟主机功能的更多相关文章

  1. 利用主机域名配置Apache的虚拟主机功能

    利用主机域名配置Apache的虚拟主机功能,可以减轻服务器为每一个网站分配IP地址的压力.而且根据不同的主机域名可以输出不同的网页内容.要实现此项功能,可以通过修改/etc/host文件来强制定义IP ...

  2. Apache的虚拟主机功能(基于IP、域名、端口号)

    Apache虚拟主机就是在一个Apache服务器上配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录. 主要有三种方法: 1.通过不同的IP地址 2.通过不同的域名 ...

  3. Apache的虚拟主机功能(基于IP地址、基于虚拟主机、基于端口)

    1. 安装Apache服务程序(系统用户,1-199之间) 第一步:在虚拟机软件里选中光盘镜像: 第二步:将光盘设备挂载到/media/cdrom目录 输入:mkdir -p /media/cdrom ...

  4. win10下关于apache配置虚拟主机

    apache安装完默认是不开启虚拟服务器的,如果希望在本地apache上面配置虚拟服务器,类似于在网上买的虚拟主机,可以按照以下步骤进行配置: 1,修改本机的hosts文件,如下 示例:127.0.0 ...

  5. 解决Apache配置虚拟主机时出现403错误的问题

    1.用文本编辑器打开Apache中的httpd.conf,搜索httpd-vhosts.conf,找到“#Include conf/extra/httpd-vhosts.conf”,并把“#”去掉,启 ...

  6. 虚拟机lamp环境下,Apache配置虚拟主机

    1.在Apache配置文件中开启虚拟主机功能:即:Include etc//extra/httpd-vhosts.conf把前面的#去掉: 2.在extra目录下找到文件httpd-vhosts.co ...

  7. Apache+php+mysql的安装与配置 - 之三(Apache的虚拟主机配置)

    Apache+php+mysql的安装与配置 - 之三(Apache的虚拟主机配置) Apache核心(Core)配置 VirtualHost 语法 <VirtualHost addr[:por ...

  8. Apache和PHP结合、Apache默认虚拟主机

    5月28日任务 课程内容: 11.14/11.15 Apache和PHP结合11.16/11.17 Apache默认虚拟主机 11.14/11.15 Apache和PHP结合 到目前为止虽然安装好了A ...

  9. Centos7下配置Apache的虚拟主机

    一.虚拟主机 虚拟主机是Apache提供的一个功能,通过虚拟主机拉雅在一台服务器上部署多个网站.虽然服务器的IP地址是相同的,但用户当用户使用不同的域名访问时,访问到的是不同的网站. 下面讲解Apac ...

随机推荐

  1. XCTF-Misc

    最近无聊在做一下杂项,随便总结一下关于杂项的知识. 一. xcaliflag 这个直接拖进stegsolve里面,大约是在Blue的第3位左右就很清楚了 二.

  2. 如何去除CFormView的Scrollbar

    第一种方法: 重载 OnSize(UINT nType, int cx, int cy) 在CFormView::OnSize(nType, cx, cy)下面添加一句 ShowScrollBar(S ...

  3. 基于STM32F429和HAL库的CAN收发例程

    1.CAN协议介绍 CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO 国际标准化的串行通信协议.在当前的汽车产业中,出于对安全性.舒适性.方便性.低公 ...

  4. NOIP2011计算系数;

    #include<cmath> #include<algorithm> #include<stdio.h> #include<iostream> #de ...

  5. bugku旋转跳跃

    下载下是一个mp3音频,尝试听了下,没有收获, 使用mp3stege,将文件拷在mp3stege目录下,然后使用cmd cd到目录下 命令行是decode -X -P 密码 文件 生成了一个文本 打开 ...

  6. 决策树算法系列之一 ID3

    1 什么是决策树 通俗来说,决策树分类的思想类似于找对象 一个女孩的母亲要给这个女孩介绍男朋友 (分类问题.见或不见) 女孩有自己的一套标准 长相 收入 职业 见面与否 丑 高 某箭队经理 不见 中等 ...

  7. 关于参加AWD攻防比赛心得体会

    今天只是简单写下心得和体会 平时工作很忙 留给学习的时间更加珍少宝贵. 重点说下第二天的攻防比赛吧  . 三波web题 .涉及jsp,php,py. 前期我们打的很猛.第一波jsp的题看到有首页预留后 ...

  8. 实验吧之【因缺思汀的绕过】(group by with rollup的注入利用)

    打开页面,查看源代码,发现存在source.txt(http://ctf5.shiyanbar.com/web/pcat/source.txt),如下: <?php error_reportin ...

  9. My Idea About ID wly_sh (关于用户名 wly_sh 的猜想)

    I Wanna Say Is That- There's a guy called wsh in our computer room. That guy registered a blog in CS ...

  10. opencv::Laplance算子

    Laplance算子 理论:在二阶导数的时候,最大变化处的值为零即边缘是零值.通过二阶导数计算,依据此理论我们可以计算图像二阶导数,提取边缘. 拉普拉斯算子(Laplance operator) 处理 ...