apache实现虚拟主机

来源:互联网 发布:竖琴 踏板 知乎 编辑:程序博客网 时间:2024/05/01 07:02

apache实现虚拟主机


简介

apache实现虚拟主机可以让系统的资源得到有效的利用,关于虚拟主机的实现有以下三种方法:基于IP基于主机名基于端口

今天我们尝试下基于IP的虚拟主机,操作的步骤分为以下四个部分:

1.在真实网卡上绑定3个IP;
2.在客户端对IP和主机名进行解析;
3.建立虚拟主机存放被访问内容的根目录;
4.在/etc/httpd/conf.d/目录下编写虚拟主机的配置信息。


绑定网卡

[root@localhost conf.d]# ifconfig ens3:1 192.168.0.111
[root@localhost conf.d]# ifconfig ens3:1 192.168.0.112
[root@localhost conf.d]# ifconfig ens3:1 192.168.0.113

查看绑定后的IP信息:
这里写图片描述


解析IP和主机名

在客户端的/etc/hosts文件中添加对要访问的虚拟主机名的解析:

这里写图片描述


建立虚拟主机被访问的根目录

[root@localhost /]# mkdir -p /www/test1
[root@localhost /]# mkdir -p /www/test2
[root@localhost /]# mkdir -p /www/test3

添加虚拟主机的被访问的信息,这里因为测试只是添加index.html文件,整个目录结构如下图所示:
这里写图片描述


编写apache虚拟主机配置文件

虚拟主机的配置文件路径为/etc/httpd/conf.d/httpd-vhosts.conf

<VirtualHost 192.168.0.111:80>    ServerName www.test1.com    DocumentRoot /www/test1/    <Directory "/www/test1">        Options Indexes FollowSymLinks        AllowOverride None        Order allow,deny        Allow From All         Require all granted     </Directory></VirtualHost><VirtualHost 192.168.0.112:80>    ServerName www.test1.com    DocumentRoot /www/test2/    <Directory "/www/test2">        Options Indexes FollowSymLinks        AllowOverride None        Order allow,deny        Allow From All        Require all granted     </Directory></VirtualHost><VirtualHost 192.168.0.113:80>    ServerName www.test1.com    DocumentRoot /www/test3/    <Directory "/www/test3">        Options Indexes FollowSymLinks        AllowOverride None        Order allow,deny        Allow From All         Require all granted     </Directory></VirtualHost>

编写完成后重新启动httpd服务:

[root@localhost conf.d]# systemctl restart httpd.service

然后可以在客户端上访问虚拟主机www.test1.comwww.test2.comwww.test3.com.

显示结果分别如下:
这里写图片描述

这里写图片描述

这里写图片描述


小结:

关于httpd的虚拟主机配置如上述所示,有兴趣的同学可以尝试另外两种策略(基于主机名和基于端口的虚拟主机配置)。

2 0