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

下面我介绍一下这3种方式具体的配置流程:

一.基于ip地址

首先我们需要在虚拟机中线安装Apache服务程序,Apache服务程序的软件包名叫做httpd,所以我们首先执行命令yum install httpd 从yum仓库中下载服务,输入y确认下载。

接着我们运行Apache服务,使用命令systemctl start httpd启动服务。可以使用命令 systemctl enable httpd来设置Apache服务开机自启动。

接下来就要配置基于IP地址的服务了,我们先是nmtui命令为网卡添加多个地址供我们实验。终端中输入此命令就可以看到网卡配置了。我们通过方向键与回车键点击编辑连接中的网卡ens33,在里面再添加三个IP地址,分别是192.168.42.110    192.168.42.120    192.168.42.130  然后依次确认回到第一个界面,重新启用一次连接,即现断开连接再重新连接,我们的配置便生效了。

下一步我们依次使用ping命令ping我们配置的三个IP地址,ping通即成功。

下一步我们分别创建网站数据目录:在/home/wwwroot下分别创建三个网站数据目录

如图中输出命令可同时创建三个目录,然后我们分别在三个网站数据目录下面写入主页文件,内容就写该网站的IP地址。

如图所示我们已经写进去了。

下一步我们在配置文件中描述基于IP地址的虚拟主机    vim /etc/httpd/conf/httpd.conf   直接将我们的信息找地方写入即可

<VirtualHost 192.168.42.110>
DocumentRoot /home/wwwroot/110
ServerName www.linuxprobe.com
<Directory /home/wwwroot/110>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

<VirtualHost 192.168.10.120>
DocumentRoot /home/wwwroot/120
ServerName bbs.linuxprobe.com
<Directory /home/wwwroot/120 >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

<VirtualHost 192.168.10.130>
DocumentRoot /home/wwwroot/130
ServerName tech.linuxprobe.com
<Directory /home/wwwroot/130 >
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

配置完毕后我们要重启一下httpd服务。systemctl restart httpd
最后我们就可以分别以不同IP访问验证结果了。如图所示即为成功。另外两个类同于此。

2.基于主机名(域名)

首先我们还是先下载httpd服务(回复快照以后),配置基于主机名的httpd服务,首先我们要配置网卡IP地址与hosts文件,hosts文件作用是定义IP地址与主机名的映射关系,即强制将某个主机名地址解析到指定的IP地址。vim /ect/hosts 注意要分行写,按照图示

然后与配置IP一样分别创建网站数据目录并分别在网站目录中下入不同的首页文件

中间不注意写错,我重新写了一下不影响。

接着在主配置文件中/etc/httpd/conf/httpd.conf 配置基于主机名称的虚拟主机。

<VirtualHost 192.168.42.100>

DocumentRoot "/home/wwwroot/www"

ServerName "www.linuxprobe.com"

<Directory "/home/wwwroot/www">

AllowOverride None

Require all granted

</directory>

</VirtualHost>

<VirtualHost 192.168.42.100>

DocumentRoot "/home/wwwroot/bbs"

ServerName "bbs.linuxprobe.com"

<Directory "/home/wwwroot/bbs">

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

<VirtualHost 192.168.42.100>

DocumentRoot "/home/wwwroot/tech"

ServerName "tech.linuxprobe.com"

<Directory "/home/wwwroot/tech">

AllowOverride None

Require all granted

</directory>

</VirtualHost>

配置完毕后重启httpd服务然后进入火狐测试,如图即位成功。

3.基于端口

我们还是在安装了httpd服务后进行下一步 分别创建端口为6111.6222网站数据目录,并分别在网站数据目录中写入不同内容的主页文件。

然后在配置文件/etc/httpd/conf/httpd.conf,中的约42行的Listen 80 在下面追加

Listen 6111

Listen 6222

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

<VirtualHost 192.168.42.100:6111>
DocumentRoot “/home/wwwroot/6111”
ServerName www.linuxprobe.com
<Directory “/home/wwwroot/6111”>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

<VirtualHost 192.168.42.100:6222>
DocumentRoot “/home/wwwroot/6222”
ServerName bbs.linuxprobe.com
<Directory “/home/wwwroot/6222”>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

配置完成后重新开启httpd服务,就可以使用浏览器测试了

如图所示配置成功,大功告成了。

apache虚拟主机配置的3种方式的更多相关文章

  1. Apache虚拟主机配置(多个域名访问多个目录)

    Apache虚拟主机配置(多个域名访问多个目录) 为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件. 第一步首先要使扩展文件httpd-vhosts.conf ...

  2. Apache虚拟主机配置(多个域名访问多个目录)(转)

    Apache虚拟主机配置(多个域名访问多个目录) 为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件. 第一步首先要使扩展文件httpd-vhosts.conf ...

  3. Linux下Apache虚拟主机配置

    Linux下Apache虚拟主机的三种配置.这样可以实现一台主机架构多个独立域名网站.其中基于域名的最为常见.性价比也最高.下面PHP程序员雷雪松详细的讲解下Linux下Apache虚拟主机配置的具体 ...

  4. apache虚拟主机配置及解析

    Apache虚拟主机配置及解析 1.修改httpd-vhosts.conf 打开apache(Apache24)/conf/extra/httpd-vhosts.conf文件,添加虚拟主机信息,可以这 ...

  5. Apache虚拟主机配置

    在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录.Apache虚拟主机配置有3中方法:基于IP配置.基于域名配置和基于端口配置,这里介 ...

  6. Linux Apache虚拟主机配置方法

    apache 虚拟主机配置 注意: 虚拟主机可以开很多个 虚拟主机配置之后,原来的默认/etc/httpd/httpd.conf中的默认网站就不会生效了 练习: 主机server0 ip:172.25 ...

  7. windows环境下,apache虚拟主机配置

    在windows环境下,apache从配置文件的相关配置: Windows 是市场占有率最高的 PC 操作系统, 也是很多人的开发环境. 其 VirtualHost 配置方法与 Linux 上有些差异 ...

  8. linux apache虚拟主机配置(基于ip,端口,域名)

    配置环境: linux版本:Centos6.4 httpd版本: [root@centos64Study init.d]# pwd/etc/init.d[root@centos64Study init ...

  9. Ubuntu16.04+Apache虚拟主机配置详解

    在window下,Apache的配置文件是httpd.conf,但在Linux下安装了Apache后发现其配置并不像window下那么简单,Linux下Apache将各个设置项分在了不同的配置文件中, ...

随机推荐

  1. os模块操作文件

    os模块: path=os.path.join(os.path.dirname(os.path.dirname(__file__)),'images') path:运行脚本的当前文件下的上一个文件的地 ...

  2. windows系统一台电脑先后添加多个git账号

    概述 电脑上已经配置了github的ssh连接.现在又有一个不同的git账户,也就是要在一台电脑上配置两个git账号. 下面记录一下我配置的方法. 一.取消git全局配置 之前配置github的时候, ...

  3. Vue计算属性缓存(computed) vs 方法

    Vue计算属性缓存(computed) vs 方法 实例 <div id="example"> <p>Original message: "{{ ...

  4. Docker变量的相关总结

    一.AVG与ENV 1.在Dockerfile中,使用ARG与ENV的区别 ARG:ARG定义的变量用于构建Docker镜像,在通过build把Dockerfile构建成镜像后,ARG定义的变量便不在 ...

  5. Hybrid App: 了解JavaScript如何与Native实现混合开发

    一.简介 Hybrid Development混合开发是目前移动端开发异常火热的新兴技术,它能够实现跨平台开发,极大地节约了人力和资源成本.跨平台开发催生了很多新的开源框架,就目前而言,在混合开发中比 ...

  6. PHP failed to ptrace(PEEKDATA) pid 13659: Input/output error错误解决方法

    PHP failed to ptrace(PEEKDATA) pid 13659: Input/output error错误解决方法 现在改linux内核文件打开限制<pre>ulimit ...

  7. php的精度计算问题(bcadd和bcsub)

    一.前言 我们在进行php开发的时候经常会遇到浮点型的问题,特别是涉及金额的部分,常常需要进行加减运算.当小数点的位数比较多的时候,往往容易犯一些很低级的错误.这里记录一下php的精度计算和封装的小d ...

  8. 苹果客户端input时页面自动放大的问题

    一.问题: 最近在用vue测试的时候发现,安卓端在输入框input时不存在页面自动缩放的问题,苹果客户端认为是考虑到用户的体验效果,才出现输入框自动放大的功能.但也收到了不少用户反馈体验效果不周. 二 ...

  9. 为什么Python类语法应该不同?

    做过python的人你会发现想要的东西跟它原有的是不同的.Python对我来说是真的是这样.如果可以的话,对于Python中很多的我想要改的东西,我有很多的想法.现在我向您讲述其中一个:类定义的语法. ...

  10. window,sts安装python

    1.先在python官网下载最新的python安装,安装的时候勾上所有选项 官网:https://www.python.org/downloads/ 2.在sts里安装pyDev插件,我当时直接sea ...