Linux进阶——搭建http静态网站

ops/2025/2/9 9:49:05/

实例一、建立两个基于域名访问,要求如下:

新建一个网站,域名为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" />


http://www.ppmy.cn/ops/156941.html

相关文章

3.1 学习UVM中的uvm_component类分为几步?

文章目录 前言一、定义1.1 角色和功能:1.2 与其他UVM类的区别:1.3 主要属性和方法: 二、使用方法2.1 定义和实例化:2.2 生命周期管理:2.3 组件间通信: 三、何时使用3.1 使用场景3.2 适用组件3.3 与uvm_obje…

Powershell语言的云计算

Powershell语言在云计算中的应用 在当今信息化迅速发展的时代,云计算已成为企业和个人处理数据、存储信息、提供服务的重要选择。伴随云计算的普及,如何有效地管理和自动化云计算环境成为一个重要课题。PowerShell作为一种强大的命令行工具和脚本语言&a…

Spring-RetryTemplate

Spring RetryTemplate 是 Spring 框架提供的一个用于实现重试机制的工具类,它可以帮助开发者在遇到特定异常时自动重试某个操作,以增加操作的可靠性。下面从使用场景、基本使用步骤、配置参数以及高级用法几个方面详细介绍 Spring RetryTemplate。 使用…

to_csv保存指定列的方法

df是DataFrame的数据,它的列为[代码, 名称, 最高, 最低] 现在我只想将‘代码’、“名称”两列内容存入csv,实现如下: columns_to_save [代码, 名称] df.代码 df.代码.apply("{}".format)#此行可以防止代码之前的0被忽略掉 d…

处理 this

this指向改变this this指向 构造函数和原型对象都指向 实例 改变this指向的三个方法: call()apply()bind() call() apply() 与call的区别就是call中参数任意,但是apply中参数必须是数组 bind()(最重要) 与…

自制一个入门STM32 四足机器人具体开发顺序

0 前期准备 1. 知识储备 学习 STM32 微控制器的基础知识,包括 GPIO、定时器、串口通信等外设的使用,可通过官方文档、教程和视频课程进行学习。了解舵机控制原理,因为四足机器人通常使用舵机来实现关节运动。掌握基本的机械结构设计知识&am…

Java 大视界 -- Java 大数据在智能金融监管中的应用与实践(77)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

DeepSeek与Vue.js组件开发:解锁AI与前端开发的融合密码

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…