实例一、建立两个基于域名访问,要求如下:
新建一个网站,域名为www.ceshi.com,设置网站首页目录为/www/name,网页内容为this is test。
新建一个网站,域名为rhce.first.day,同时可以通过rhce.first.day设置网站首页目录为/www/ce,网页内容为today is first day of class。
基于域名的网站,需要用到域名解析。域名-->IP地址
浏览器如何通过域名去查URL对应的IP(对应的服务器地址):
1、浏览器缓存:浏览器会按照一定的频率缓存DNS记录。
2、操作系统缓存:如果浏览器缓存中找不到需要的DNS记录,那就去操作系统中的hosts文件找。hosts是一个没有扩展名的系统文件,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联的数据库,当用户在浏览器上输入一个需要登陆的网址时,系统首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立刻打开相应的网页,如果没找到,系统会再将网址提交给DNS域名服务器进行IP地址解析。
windows下的hosts文件地址:C:\windows\System32\drivers\etc\hosts
查看windows客户端本地缓存解析记录:ipconfig /displaydns
清除windows客户端本地缓存的DNS解析记录:ipconfig /flushdns
3、路由缓存:路由器也有DNS缓存
4、ISP的DNS服务器:ISP是互联网提供方的简称,ISP有专门的DNS服务器应对DNS查询请求。
5、根服务器:ISP的DNS服务器找不到的话,他会向根服务器发送请求,进行递归查询(DNS服务器先问根域名服务器.com域名服务器的IP地址,然后再问.com域名服务器,以此类推)
实验步骤:
mkdir -pv /www/{name,ce} #创建目录文件
echo this is test > /www/name/index.html
echo today is first day of class > /www/ce/index.html #将网页内容写入index.html中vim /etc/nginx/conf.d/test_ip.conf #修改配置信息,写入以下信息
server{listen 192.168.68.130:80;server_name www.ceshi.comroot /www/name; } server{listen 192.168.68.130:80;root /www/ce;server_name rhce.first.day ce.first.day;location / {} }
vim /etc/hosts #添加域名与IP地址的对应,添加如下内容
192.168.68.130 localhost www.ceshi.com rhce.first.day ce.first.day
nginx -t #查看修改是否有问题
systemctl restart nginx #重启服务
curl www.ceshi.com #测试是否可用
实例二、基于虚拟目录和用户控制的web网站
yum install httpd-tools #下载httpd-tools包提供网页认证自动生成储存用户密码和用户名的文件
htpasswd -cb /etc/nginx/conf.d/auth-password user1 123 #创建用户
mkdir /www/real #新建文件目录作为实际访问的目录
echo real > /www/real/index.html #并写入实际访问的内容index.html
vim test_virtual.conf #编辑网页访问,写入以下内容:
server{listen 192.168.68.130:80;root /usr/share/nginx/index;location /real {alias /www/real;auth_basic on;auth_basic_user_file /etc/nginx/conf.d/atuo_password;} }
systemctl restart nginx #重启
curl 192.168.68.131/real/ #测试1
https://i-blog.csdnimg.cn/direct/117bf7f94abb4ef6913537b3eb9137ce.png" width="630" />
curl 192.168.68.131/real/ -u user1 #测试2
https://i-blog.csdnimg.cn/direct/fe6ff48424a746e3b7069d7db0774730.png" width="602" />
curl user1:123456@192.168.68.131/real #测试3
https://i-blog.csdnimg.cn/direct/d457b15ba99545b3abfa6c563c8d3387.png" width="669" />
curl user1:123456@192.168.68.131/real/ #测试4
https://i-blog.csdnimg.cn/direct/3a2b828e8321487fa2dc6ff82f817672.png" width="701" />