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. iOS和macOS上的Message-ID和Mail.app深度链接

    如何在iOS上通过电子邮件进行无缝的“无密码”身份验证. Apple平台上的邮件和日历集成 在macOS和iOS上查看电子邮件时,邮件会在[检测到的日期和时间]下划线 .您可以与他们互动以创建新的日历 ...

  2. 天天玩微信,Spring Boot 开发私有即时通信系统了解一下

    1/ 概述 利用Spring Boot作为基础框架,Spring Security作为安全框架,WebSocket作为通信框架,实现点对点聊天和群聊天. 2/ 所需依赖 Spring Boot 版本 ...

  3. noip11 string

    这道题改题时我打了个玄学复杂度的暴力,然后我成功的造了一组数据hack掉了自己的代码.... 通过观察,我们可以很容易的发现在操作几次后,整个序列就会变成一块一块相同的字母. 于是我们可以对我们的暴力 ...

  4. vim编辑器介绍

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...

  5. NOIP模拟测试6

    看题目就知道这是一个悲伤的故事... 但还有更悲伤的 考崩了,难以描述. T1把数据范围看成2^12,我TM也是够了... T2思路接近正解,但不知道想了个神魔东西跑了N遍dijstra T3最狗了, ...

  6. python学习之【第七篇】:Python中的集合及其所具有的方法

    1.前言 python中的集合set与列表类似,它们最大的区别是集合内不允许出现重复元素,如果在定义时包含重复元素,会自动去重. 集合是无序的,集合中的元素必须是不可变类型.集合可以作为字典的key. ...

  7. apache+php+mysql搭建php环境

    1.首先准备解压包:zend-loader-php5.6-windows-x86_update1(nts版).php-5.6.37-nts-Win32-VC11-x86.mysql-5.5.19-wi ...

  8. Win7安装解压版MySQL

    1.下载MySQL 访问https://dev.mysql.com/downloads/mysql/5.6.html#downloads,下载操作系统对应的版本(无账号需先注册一个),以mysql-5 ...

  9. 『题解』洛谷P3384 【模板】树链剖分

    Problem Portal Portal1: Luogu Description 如题,已知一棵包含\(N\)个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作\(1\): ...

  10. 利用爬虫爬取LOL官网上皮肤图片

    今天在浏览网页时,看到一篇很有意思的文章,关于网络爬虫的.该文章是讲述如何利用request爬取英雄联盟官网皮肤图片.看过文章后觉得挺有用的,把代码拿过来运行了一下,果真爬取成功.下面给大家分享一下代 ...