一、配置虚拟主机?
一台服务器很贵,如果只能部署一个网站,那么非常浪费。所以需要通过其他渠道来实现一台主机上部署多个网站
1、什么是虚拟主机
虚拟主机:Virtual machine,并不存在真实的主机,但是可以提供真实主机所实现的功能。
通俗的讲,虚拟主机就是将计算机中不同的文件夹进行不同的命名,然后可以实现让服务器(Apache)根据用户的需求从不同的文件夹(网站)中读取不同的内容。
2、虚拟主机的分类
在Apache中,可以将虚拟主机划分成两类:
1)基于IP的虚拟主机:一台电脑上可以有多个IP,每个IP对应一个网站
原理:电脑默认只有一个IP,因为通常只配有一个网卡;但是有的电脑(服务器居多)可以配置多个网卡,每个网卡可以绑定一个IP地址
2)基于域名的虚拟主机:一台电脑上只有一个IP,但是IP下可以制作多个网站,但是需要给每个网站不同的名字(虚拟主机名)
3、配置过程
搭建基于域名的虚拟主机:
在Apache中,虚拟主机的搭建有两种方式:
1)在主配置文件中搭建:需要手动开启虚拟主机(基于域名)
NmaeVirtualHost *:80
2)在专门的虚拟主机配置文件中配置
2.1在主配置文件中加载虚拟主机配置文件:虚拟主机配置文件已经开启
NameVirtualHost
2.2虚拟主机配置文件中配置虚拟主机
①增加一个对应的站点文件夹位置:DocumentRoot
②增加主机名字,文件夹别名:ServerName
③增加域名解析DNS,hosts文件
④需要给当前设定的站点(目录)访问权限
<Directory ‘站点目录’>
Order Deny,Allow //没有顺序关系,实际顺序有意义
Deny from 指定的范围
Allow from 指定范围/all
</Directory>
⑤配置访问列表:当访问是一个目录的时候(没有指定具体要访问的文件)
Options Indexes [FollowSymLinks],如果访问目录,那么列表显示所有文件(开发环境)
⑥当用户访问指定目录不指定文件的时候,通常需要系统指定一个默认文件
DirectoryIndex 默认的文件列表,多个使用空格分离
注意:如果说网站中整个网站根目录允许访问,但是其中还有其他文件夹不允许访问,可以增加多个Directory标签,针对不同的文件
2.3一旦启用虚拟主机配置文件,那么默认的主机地址Localhost就不再生效,如果想要生效:为localhost增加单独的虚拟主机