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

简介: 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

目录
相关文章
|
7月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
429 146
|
8月前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
605 11
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
1821 25
|
10月前
|
监控 Linux 开发者
理解Linux操作系统内核中物理设备驱动(phy driver)的功能。
综合来看,物理设备驱动在Linux系统中的作用是至关重要的,它通过与硬件设备的紧密配合,为上层应用提供稳定可靠的通信基础设施。开发一款优秀的物理设备驱动需要开发者具备深厚的硬件知识、熟练的编程技能以及对Linux内核架构的深入理解,以确保驱动程序能在不同的硬件平台和网络条件下都能提供最优的性能。
542 0
|
Ubuntu Linux 网络安全
如何在Linux中更改主机名?修改主机名最新方法
本期教程将指导您如何在Linux系统中更改主机名。主机名是Linux系统的常用功能,用于识别服务器,帮助区分不同服务器,并与网络进程和其他应用程序协同工作。教程涵盖显示当前主机名的方法(通过`hostname`命令),以及在CentOS 7、Debian 9和Ubuntu 16.04及以上版本中更改主机名的步骤(使用`hostnamectl set-hostname`命令)。对于其他Linux版本,可编辑`/etc/hostname`文件实现更改。记得重启相关服务或服务器以使更改生效!
2896 12
|
Linux iOS开发 MacOS
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
425 0
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Git 服务
|
运维 Linux Apache
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
421 2
|
安全 网络协议 Linux
Linux加强篇010-使用Apache服务部署静态网站
山重水复疑无路,柳暗花明又一村
1237 0
|
Linux 网络安全 Apache
百度搜索:蓝易云 ,linux系统 Apache服务配置教程。
现在,您可以通过浏览器访问您的网站。在浏览器中输入服务器的IP地址或域名,即可访问默认网站或配置的虚拟主机。以上是在Linux系统上配置Apache服务的教程。请根据您的需求进行必要的配置和修改。
438 0

热门文章

最新文章