一勤天下无难事,一懒世间万事休
httpd 支持在一台物理主机上实现多个网站,即多虚拟主机
网站的唯一标识:
- IP相同,但端口不同
- IP不同,但端口均为默认端口
- FQDN不同, IP和端口都相同
多虚拟主机有三种实现方案:
- 基于ip:为每个虚拟主机准备至少一个ip地址
- 基于port:为每个虚拟主机使用至少一个独立的port
- 基于FQDN:为每个虚拟主机使用至少一个FQDN
注意:
httpd 2.4版本中,基于FQDN的虚拟主机不再需要NameVirutalHost指令
注意:
- 任意目录下的页面只有显式授权才能被访问
- 三种方式的虚拟主机可以混和使用
- 基于主机头的第一个虚拟主机将成为默认站点
前期环境准备
先创建三个目录,用于外部界面的使用:
制作外部界面的测试页面:
创建好之后的目录:
需要在配置文件 /etc/httpd/conf.d/的下面创建一个 .conf结尾的文件,然后在里面写配置文件
基于IP的虚拟主机:
需要申请三个公网IP,成本比较高
添加三个ip地址
写配置文件
检查语法,并重启服务
测试实验结果
当然,也可以在浏览器上进行测试,直接分别输入三个ip地址,查看结果即可
基于端口的虚拟主机:
每次访问都需要输入端口号,比较麻烦
写配置文件
检查语法,并重启服务
查看端口,已经打开
测试实验结果
当然,也可以在浏览器上进行测试,直接分别输入三个ip地址,查看结果即可
基于FQDN虚拟主机:
生产中普遍使用的是这种方法
正常情况下需要配置DNS解析
本次演示,改另一台机器(centos7)上面 /etc/hosts 的配置文件,同样也可以提供DNS解析类似的功能
改centos7的配置文件,添加三个域名
写配置文件
检查语法,并重启服务
测试实验结果
curl命令 后面加 -v 显示更为详细的过程