什么是虚拟主机?
虚拟主机是就是将多个网站部署到同一个服务器上面。
为什么要部署虚拟主机?
当前,服务器的性能都非常高,而一个网站如果没有什么访问量的话,部署到一台服务器上,会造成服务器资源的浪费。部署虚拟主机,可以实现服务器硬件性能的共享,更大限度的利用资源。
http有三种虚拟主机的配置,每种虚拟主机配置都是应对不同的场景。
一、基于域名的虚拟主机
虚拟主机就是多个网站部署在同一个服务器上,因此我们需要首先创建几个站点目录,然后在这些站点目录中,分别部署不同的站点的代码,来模拟不同的网站。
1.1 创建站点目录
[root@httpd-2 ~]# mkdir -p /web/{www,blog} //新建目录/web并创建两个子目录模拟三个站点。
[root@httpd-2 ~]# for i in www blog;do echo "http://$i.abc.com">>/web/$i/index.html;done //在每个站点目录中新建一个主html模拟网站的代码。
[root@httpd-2 ~]# for i in www blog;do cat /web/$i/index.html;done
http://www.abc.com
http://blog.abc.com
1.2 修改配置文件
第一种方法:将虚拟主机配置放在额外的配置文件中(extra/httpd-vhosts.conf)
源码包安装的有/conf/extra/httpd-vhosts.conf文件比较适合这种方法,而yum源安装的没有这个目录和文件,需要自己创建。
源码安装:
[root@httpd-1 ~]# cd /app/httpd/conf/extra/
[root@httpd-1 extra]# cp httpd-vhosts.conf httpd-vhosts.conf.bak
Yum安装:
[root@http-2 ~]# mkdir /etc/httpd/conf/extra/
[root@http-2 ~]# cd /etc/httpd/conf/extra/
修改虚拟主机配置文件,两种安装方式配置都是一样的:
[root@httpd-1 extra]# vi httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin 164767965@qq.com # 管理员邮箱,网站故障会给该邮箱发送邮件
DocumentRoot "/web/w