Linux Apache服务详解——虚拟网站主机功能实战

本文涉及的产品
.cn 域名,1个 12个月
简介: Linux Apache服务详解——虚拟网站主机功能实战

今天我们继续给大家介绍Linux相关内容,本文主要内容是Apache服务虚拟网站主机功能实战。

一、虚拟主机功能简介
Apache服务默认支持虚拟主机功能,所谓虚拟主机,就是Apache将一台服务器的多个目录根据访问客户端访问目标的不同,起到不同访问输出的效果。虚拟主机可以使用基于域名的虚拟主机,基于端口的虚拟主机和基于IP的虚拟主机三种,这三种虚拟主机在实现上都是根据客户端对不同的域名、IP或者端口的访问,给予不同的响应,以此实现虚拟出多个网站站点的效果。
今天,我们来实现这三种方式的虚拟主机功能。

二、网卡添加
首先,为了实现基于IP的虚拟主机功能,我们为虚拟机再添加一张网卡,添加网卡后,可以使用ifconfig命令来查看网卡名称。但是,在添加网卡后,系统却并不会生成网卡的配置文件,此时我们复制之前网卡的配置文件,进行简单修改后成为新网卡的配置文件。执行命令:

cp -a /etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens34
1
可以复制原有的网卡文件接下来我们进入ifcfg-ens34网卡下,修改IP地址为我们想要的IP地址,删除UUID(因为与之前网卡的UUID重合),修改DEVICE和NAME为ens34。修改完成后的配置文件如下所示:

之后,我们重启网卡,启动成功后,执行命令ifconfig,效果如下:

这样,我们的网卡就已经配置成功了!
其他主机尝试访问这两个IP地址,发现访问正常,如下所示:

三、基于IP的虚拟网站主机功能
接下来,我们就可以实现基于IP的虚拟网站主机功能了,想要实现基于IP的虚拟网站主机,我们需要修改Apache服务的主配置文件,在全局模式下,添加如下两个模块:


DocumentRoot /var/www/virtual/web_a

AllowOverride None
Require all granted


DocumentRoot /var/www/virtual/web_b

AllowOverride None
Require all granted


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
其中中的IP地址就是两个网卡的地址,DocumentRoot和Directory模块中的目录分别为两个虚拟主机的根目录,修改完成后配置文件如下所示:

接下来,我们需要创建这两个目录,并写入不同的内容,以方便我们验证效果,相应命令如下:

mkdir -p /var/www/virtual/web_a
mkdir -p /var/www/virtual/web_b
echo "This is a's web" > /var/www/virtual/web_a
echo "This is b's web" > /avr/www/virtual/web_b
1
2
3
4
完成上述所有操作后,重启Apache服务,并尝试访问这两个IP,发现结果如下:

可以得出,这两个IP虽然对应着同一台设备,但是反馈结果是不同的,基于IP的虚拟主机实验成功!

四、基于域名的虚拟网站主机功能
接下来,我们来实现基于域名的虚拟网站主机功能,因为是在本地测试,因此我们来通过修改本地hosts文件的方式,来模拟域名解析功能,在公网环境下使用时,其原理是完全相同的。
对于windows主机来说,hosts文件位置如下:
C:\Windows\System32\drivers\etc
打开hosts文件(使用记事本打开,记得要使用管理员权限的打开),在hosts文件的最下面加入IP地址和域名的对应关系,先写IP,后写域名,完成后结果如下所示:

我们尝试访问该域名,结果如下所示:

这样,我们本地域名已经配置成功!接下来,我们需要对网站的配置文件进行相应配置。实现基于域名的虚拟主机功能其实与基于IP的虚拟主机功能配置差不多,在上个实验的同样的位置,插入以下内容:


DocumentRoot /var/www/virtual/web_a
ServerName www.pzz.com

AllowOverride None
Require all granted


DocumentRoot /var/www/virtual/web_b
ServerName www.zzp.com

AllowOverride None
Require all granted

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
完成上述配置后,重启Apache服务,我们使用不同的域名访问站点,结果如下:

显然,不同的域名虽然对应着相同的IP地址,但是由于访问域名不同,最终访问的结果也不同,实验成功!

五、基于端口的虚拟主机功能实现
最后,我们来配置基于端口的虚拟主机功能实现,站点配置文件的修改与基于IP的修改很类似,唯一的区别之处在于VirtualHost模块中一个是IP地址不同,一个是IP地址相同,但是后面的域名不同,插入内容如下:


DocumentRoot /var/www/virtual/web_a

AllowOverride None
Require all granted


DocumentRoot /var/www/virtual/web_b

AllowOverride None
Require all granted


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
此外,Apache服务还必须打开监听我们设置的81和82端口,因此还必须在全局配置下插入如下内容:

Listen 81
Listen 82
1
2
上述配置完成后,我们尝试使用端口来访问服务器,结果如下:

显然,根据不同的端口,得到的返回结果也是不同的,由此可见,我们的实验成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/121482314

目录
相关文章
|
1月前
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
88 5
|
1月前
|
人工智能 Java 关系型数据库
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述
78 4
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
46 5
linux系统服务二!
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
51 3
linux系统服务!!!
|
1月前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
286 3
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
116 3
|
2月前
|
Ubuntu Linux 网络安全
Linux中服务管理问题
【10月更文挑战第4天】
30 2
|
7月前
|
运维 Linux Apache
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
112 2
|
7月前
|
Linux 应用服务中间件 Apache
Linux Apache服务详解——Apache服务基础知识
Linux Apache服务详解——Apache服务基础知识
132 2
|
7月前
|
安全 网络协议 Linux
Linux加强篇010-使用Apache服务部署静态网站
山重水复疑无路,柳暗花明又一村
754 0