基于域名的虚拟主机 :
原理 :
# 当服务器无法给每个网站都分配一个独立的 IP 地址时,可以通过用户请求的域
名实现不同域名传输不同的网页数据。
域名解析 :
功能 : 域名<==>IP ( 就是 域名 与 IP 地址 的映射 )
浏览器是如何通过域名去查询 URL 对应的 IP ( 对应 服务器地址 ) :
浏览器缓存 : 浏览器会按照一定的频率缓存 DNS 记录
操作系统缓存 : 如果浏览器缓存中找不到需要的 DNS 记录,那就去操作系统中的
hosts 文件找。
hosts 是一个没有扩展名的系统文件,其作用就是将一些常用的网址
域名与其对应的IP地址建立一个关联 “ 数据库 ” 当用户在浏览器中输
入一个需要登录的网址时,系统会首先自动从 hosts 文件中寻找对
应的 IP 地址,一旦找到,系统会立即打开对应网页,如果没有找到
则系统会再将网址提交 DNS 域名解析服务器进行 IP 地址解析。
* Windows 下的 hosts 文件路径 : C:\Windows\System32\drivers\etc\hosts
* Linux 下的 hosts 文件路径 : /etc/hosts
如果操作系统中没有找到域名的话,那就在路由器中,路由器也没有的话那就
在本地的 DNS 服务器中 ~!!
路由缓存 : 路由器也有 DNS 缓存
ISP 的 DNS 服务器 : ISP 是互联网服务提供商 的英文简称, ISP 有专门的 DNS 服
务器应对 DNS 查询请求
根服务器 : ISP 的DNS 服务器还找不到的话,它就会向 根服务器 发送请求,进行查
询 ( DNS 服务器先向根域名服务器 .com 域名服务器的 IP 地址,然后
再问 .com 域名服务器,以此类推进行查询 )
准备工作 :
恢复快照
# 关闭 selinux 及防火墙
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld
# 安装 httpd
[root@server ~]# dnf install httpd
# 新建 两个目录,并使用 xftp 上传两个 网页源文件
[root@server ~]# mkdir -p /www/zy
[root@server ~]# mkdir -p /www/sxhkt
创建了两个目录 分别名为 /www/zy ; /www/sxhkt
上传 网页资源 :
上传了 陕西会客厅 网页 的源文件 至 /www/sxhkt 这个目录下
上传 zy ( 网页打开是 黄色的那个 ) 网页的源文件 至 /www/zy 这个目录下
可以手工配置 IP 地址 与 域名 的映射关系,在系统对应的 hosts 文件中进行设置,并使
用 ping 命令进行测试~
在 Windows 系统中 :
打开 Windows 系统下的 hosts 文件
以记事本的方式打开, 并添加 IP 与 域名 的映射关系
还是一样,前面是 IP 后面是 域名
注 : 对于 Windows 系统来说,其方法就是上示 流程, 但由于 对 hosts 文件的权
限问题,可能不能够实现 ,但具体流程就是如此 ~!!!
在 Linux 系统中 :
打开 hosts 文件 ,添加 ip 与 域名 映射关系
===>>>
[root@server ~]# vim /etc/hosts
添加 IP和域名 的映射关系 , 前面是 IP 后面 是 域名
上示 : 192.168.153.130 这个 IP 对应着 多个域名 ( 2个呢 )
进行测试 ( 用 ping 命令 进行测试 ) 能够 Ping 通 ~!!( 说明 解析域名成功 ~!)
设置主配置文件 :
===>>>
[root@server ~]# vim /etc/httpd/conf/httpd.conf
我们是 直接在 配置文件的最后 进行添加的 ~!!
需要注意的是 : ServerName 那里必须和 前面 Linux 的 hosts 文件里的 映射关系的域名
保持一致~!!!
DocumentRoot 就是启动目录 ,也即是 我们前面 创建目录并上传网页源
文件的那个目录。
重启 httpd 服务
===>>>
[root@server ~]# systemctl restart httpd
验证 :
由于这是在 Linux 端,所以,我们在 Linux 里的 火狐浏览器 进行 域名验证 ~!!
在浏览器输入 域名 可以访问 网页, 即 虚拟主机 基于 域名 成功 ~!!!