Linux中的域名解析服务器
一、DNS(域名系统)详解
1. 核心功能与特点
特性 | 说明 |
---|---|
核心作用 | 将域名(如 www.example.com )转换为 IP 地址(如 192.168.1.1 ),实现人类可读地址与机器可读地址的映射。 |
端口与协议 | - 默认端口:53(同时支持 UDP 和 TCP)。 - UDP:快速查询(适用于大部分场景)。 - TCP:数据量较大时(如 DNSSEC 查询或区域传输)使用。 |
分布式数据库 | 全球分布式部署,无单点故障,由根服务器、顶级域服务器、权威服务器等层级构成。 |
查询类型 | - 递归查询:客户端向本地 DNS 服务器发起请求,由服务器完成全部查询。 - 迭代查询:服务器仅返回下一级服务器地址,由客户端逐步查询。 |
2. DNS 查询流程示例
-
用户输入域名:访问
www.example.com
。 -
本地 DNS 查询:客户端向本地 DNS 服务器(如 ISP 提供)发起请求。
-
根域名服务器:本地 DNS 向根服务器查询
.com
顶级域服务器的地址。 -
顶级域服务器:根服务器返回
.com
服务器的地址,本地 DNS 向.com
服务器查询example.com
的权威服务器。 -
权威服务器:顶级域服务器返回
example.com
的权威 DNS 地址,本地 DNS 向其查询www
子域的 IP。 -
返回结果:权威服务器返回
www.example.com
的 IP,本地 DNS 缓存并返回给客户端。
3. DNS 记录类型
记录类型 | 作用 | 示例 |
---|---|---|
A | 将域名指向 IPv4 地址。 | www.example.com → 192.168.1.1 |
AAAA | 将域名指向 IPv6 地址。 | www.example.com → 2001:db8::1 |
CNAME | 域名别名(指向另一个域名)。 | blog.example.com → www.example.com |
MX | 邮件服务器地址。 | example.com → mail.example.com |
TXT | 存储文本信息(如 SPF、DKIM 记录)。 | v=spf1 include:_spf.example.com ~all |
NS | 指定域名的权威 DNS 服务器。 | example.com → ns1.example-dns.com |
4. 安全问题与防护
威胁 | 防护措施 |
---|---|
DNS 劫持 | 篡改 DNS 响应,引导用户至恶意网站。解决方案:使用 DNSSEC(数字签名验证响应真实性)。 |
DNS 污染 | 伪造 DNS 查询结果。解决方案:配置可信的 DNS 服务器(如 Google DNS 8.8.8.8 )。 |
DDoS 攻击 | 攻击 DNS 服务器导致服务瘫痪。解决方案:部署 Anycast 网络分散流量压力。 |
二、因特网域名结构
1. 域名层次结构
域名采用树状分层结构,从右到左层级递增,格式为:子域名.二级域名.顶级域名.根域
示例:mail.server.example.com.
在 “mail.server.example.com.” 里,“mail” 和 “server” 都是子域名,“example” 是 二级域名,“.com” 就是顶级域名,根域名以一个点 “.” 来表示。
例如,我们常见的域名 “baidu.com”,其完整的写法其实是 “bidu.com.”,最后的点代表根域名,只是在日常使用和书写时习惯性省略。
-
根域:隐含的
.
(通常省略)。 -
顶级域(TLD):如
.com
、.cn
。 -
二级域:用户注册的域名(如
example.com
)。 -
子域:用户自定义的分支(如
mail.example.com
)。
2. 顶级域名(TLD)分类
类别 | 说明 | 示例 |
---|---|---|
国家顶级域(ccTLD) | 基于 ISO 3166 国家代码,表示特定国家或地区。 | .cn (中国)、.us (美国)、.jp (日本) |
通用顶级域(gTLD) | 面向全球的通用类别,早期仅限特定用途,现扩展至数千种。 | .com (商业)、.org (组织)、.net (网络)、.edu (教育机构) |
新通用顶级域(nTLD) | 2012 年后开放申请,涵盖行业、品牌、兴趣等。 | .app (应用)、.blog (博客)、.io (科技公司) |
基础结构域 | 唯一反向解析域,用于 IP 到域名的映射。 | .arpa (反向解析,如 1.168.192.in-addr.arpa ) |
3. 域名管理架构
机构/角色 | 职责 |
---|---|
ICANN | 全球域名系统的最高管理机构,负责分配顶级域名和 IP 地址。 |
注册局(Registry) | 管理特定顶级域(如 Verisign 管理 .com ),维护域名数据库。 |
注册商(Registrar) | 向用户提供域名注册服务(如 GoDaddy、阿里云)。 |
注册人(Registrant) | 域名实际拥有者,支付费用并配置 DNS 记录。 |
4. 域名解析示例
以 www.example.cn
为例:
-
根服务器:指引查询
.cn
顶级域服务器。 -
顶级域服务器(.cn):指引查询
example.cn
的权威服务器。 -
权威服务器(example.cn):返回
www
子域的 A 记录 IP 地址。
三、域名服务器的类型划分
1、根域名服务器(Root Name Server)
-
核心作用:
-
管理根域(
.
),存储所有顶级域名服务器(TLD)的地址信息。 -
指导本地域名服务器下一步应查询的顶级域服务器,不直接解析最终IP。
-
-
全球分布:
-
IPv4根服务器:共13台(1台主根在美国,其余12台辅根分布美、欧、日)。
-
IPv6根服务器(雪人计划):新增25台,中国部署4台(1主根+3辅根),打破无根服务器历史。
-
-
管理权:
-
由 ICANN 统一管理,负责全球互联网域名与IP地址的协调。
-
-
重要性:
-
根服务器瘫痪将导致全球DNS系统失效,是互联网核心基础设施。
-
2、顶级域名服务器(TLD Name Server)
-
职责:
-
管理特定顶级域(如
.com
、.cn
、.org
),返回对应二级域名的权威服务器地址。 -
分类:
-
国家顶级域(ccTLD):如
.cn
(中国)、.us
(美国)。 -
通用顶级域(gTLD):如
.com
(商业)、.edu
(教育)。
-
-
-
协作流程:
-
根服务器 → 顶级域名服务器 → 权威域名服务器 → 完成解析。
-
3、权威域名服务器(Authoritative Name Server)
-
功能:
-
管理特定区(Zone)的完整DNS记录(如
example.com
区的A、MX、CNAME记录)。 -
“区”与“域”:
-
一个域(Domain)可划分为多个区(Zone),每个区由独立的权威服务器管理。
-
-
-
部署模式:
-
通常以主从架构运行,主服务器负责数据修改,从服务器同步数据提供冗余。
-
4、本地域名服务器(Local DNS Server)
-
角色:
-
直接接收客户端查询请求(如浏览器、手机),执行递归解析。
-
不属于层次结构,但作为查询入口,向根、顶级、权威服务器发起迭代查询。
-
-
常见类型:
-
ISP提供的公共DNS(如
8.8.8.8
)、企业内网DNS、家庭路由器内置DNS。
-
5、主从DNS服务器(Master/Slave Server)
类型 | 职责 | 特点 |
---|---|---|
主DNS服务器 | 存储区数据的原始副本,允许管理员修改记录。 | - 数据变更后触发区域传输(AXFR/IXFR)。 - 唯一可写节点。 |
从DNS服务器 | 从主服务器同步数据,提供只读解析服务。 | - 自动同步,保障高可用性。 - 主故障时可接管查询。 |
-
同步机制:
-
全量传输(AXFR):首次同步或强制更新时复制全部数据。
-
增量传输(IXFR):仅同步变更部分,减少带宽消耗。
-
关键协作流程示例
-
用户访问
www.example.cn
:-
本地DNS服务器向根服务器查询
.cn
顶级域服务器地址。 -
根服务器返回
.cn
服务器地址,本地DNS转向查询.cn
服务器。 -
.cn
服务器返回example.cn
的权威服务器地址。 -
本地DNS向权威服务器查询
www
子域IP,返回结果并缓存。
-
-
主从同步:
-
主服务器更新记录后,通知从服务器发起IXFR请求同步数据。
-
四、DNS域名解析的过程
DNS域名解析过程如下 :
-
客户端浏览器接收到IP地址后,使用这个IP地址与目标主机建立连接。
-
浏览器向目标主机发送一个HTTP请求,然后接收并显示目标主机返回的网页内容。
-
这个过程涉及到多个层次的域名服务器之间的交互和查询,目的是将用户输入的域名转换成可访问的IP地址。
-
在整个过程中,缓存的存在大大提高了解析效率,减少了网络流量和查询时间。
-
客户机向本地域名服务器的查询一般采用递归查询。
-
当本地的域名服务器收到请求之后,就先查询本地的域名缓存,如果有该记录项,则本地的域名服务器就直接把查询的结果返回。
-
如果本地的缓存中没有该及录项,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域的主域名服务器的IP。
-
本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的域名缓存,如果没有该记录项,则返回相关的下一级域名服务器的地址。
-
重复步骤八,直到找到正确的记录。
-
本地域名服务器把返回的结果保存到域名缓存,以备下一次使用,同时将结果返回给客户机。
五、DNS的分布式特性
DNS(域名系统)的分布式特性是其设计的核心,旨在高效、可靠地将域名解析为IP地址。以下是DNS分布式架构的详细解析:
1. DNS的层次化分布式结构
DNS通过分层结构实现分布式管理,主要分为以下层级:
-
根域名服务器(Root Servers):全球共13组根服务器(逻辑上非物理),存储顶级域(如.com、.org)的服务器地址。
-
顶级域名服务器(TLD Servers):管理特定顶级域(如
.com
、.cn
)下的权威服务器信息。 -
权威域名服务器(Authoritative Servers):直接管理具体域名的IP地址记录(如
example.com
的A记录)。 -
本地DNS服务器(递归解析器):由ISP或企业提供,负责接收用户查询并递归遍历层级获取结果。
分布式优势:
-
负载均衡:查询请求分散到不同层级的服务器,避免单点过载。
-
冗余容灾:每个层级有多个服务器实例,故障时自动切换。
-
本地化解析:本地DNS缓存常用查询结果,减少跨层级请求。
2. DNS缓存机制
-
本地缓存:本地DNS服务器和客户端(如浏览器)会缓存解析结果,有效期内直接返回,减少查询延迟。
-
TTL控制:每条DNS记录设置生存时间(Time-to-Live),超时后重新查询以保持数据更新。
示例:
-
用户首次访问
example.com
,本地DNS服务器向根服务器、TLD服务器、权威服务器逐级查询,获取IP地址并缓存。 -
后续请求直接从本地缓存返回,直至TTL过期。
3. 分布式DNS的优势
-
高可用性:全球分布的服务器集群确保即使部分节点故障,解析服务仍可用。
-
快速响应:就近访问原则,用户请求优先由地理或网络位置最近的服务器处理。
-
灵活扩展:新增域名只需在权威服务器配置,无需修改全局架构。
4. 分布式DNS的挑战
-
安全性问题:
-
DNS劫持:攻击者篡改解析结果(如中间人攻击)。
-
DDoS攻击:通过大量查询请求瘫痪服务器。
-
解决方案:DNSSEC(DNS安全扩展)通过数字签名验证数据真实性。
-
-
数据一致性:
-
修改DNS记录后,全球缓存需要等待TTL过期才能同步,可能导致短暂不一致。
-
-
隐私泄露:
-
DNS查询可能暴露用户访问记录,可通过DoH(DNS over HTTPS)加密传输。
-
5. DNS与其他分布式系统的对比
特性 | DNS | 区块链 | CDN |
---|---|---|---|
数据存储 | 分层分布式数据库 | 去中心化账本 | 分布式内容缓存 |
一致性模型 | 最终一致性(依赖TTL) | 强一致性(共识算法) | 最终一致性(缓存更新) |
主要目标 | 高效域名解析 | 不可篡改的交易记录 | 加速内容分发 |
典型应用 | 互联网基础服务 | 加密货币、智能合约 | 视频流媒体、网站加速 |
六、DNS服务器的配置
1、安装 BIND(Berkeley Internet Name Domain)DNS 服务器
BIND 是一款广泛应用的开源 DNS 服务器软件。
说明:root@dns1的IP地址为192.168.52.50/24;root@dns2的IP地址为192.168.52.60/24
2、在防火墙的永久配置里添加 DNS 服务,并且让 named
服务(即 BIND DNS 服务器)立即启动,同时设置了系统启动时自动运行。
然后使用 systemctl status named 查看 named 服务的运行状态。
服务处于 active (running)
状态,说明 BIND DNS服务器 已成功启动并正在运行。
3、修改dns的配置文件
注:修改完dns的配置文件后,需要重启 named 守护进程,才能立即使配置文件生效。
具体操作看下图中前两行命令。
下面两图分别为查询成功和查询的域名不存在的示例。
4、dns高速缓存的测试
在两台测试主机---dns1和dns2中指定DNS服务器地址都为主机dns1的IP地址。
测试过程(如下图):

dns高速缓存解析
在这两台主机上指定相同的 DNS 服务器地址后,第二台主机测试域名解析耗时为 0 毫秒,实现加速,主要有以下原因:
缓存机制
-
DNS 服务器缓存:DNS 服务器通常会缓存之前解析过的域名 - IP 地址映射信息。当第一台主机(
dns1
)向192.168.52.50
这个 DNS 服务器查询www.qq.com
时,DNS 服务器完成解析后会将结果缓存起来。当第二台主机(dns2
)紧接着查询www.qq.com
时,DNS 服务器直接从缓存中读取结果并返回,无需再次进行复杂的递归查询过程(从根域名服务器开始逐级查找 ),极大缩短了解析时间,所以耗时可能显示为 0 毫秒 。 -
本地客户端缓存:在某些情况下,如果客户端(主机上的操作系统等 )也启用了 DNS 缓存机制,第一台主机查询后,相关缓存可能也会被第二台主机利用(比如在同一网络环境且有共享缓存机制等 ),或者第二台主机自身的缓存刚好命中了该域名的解析结果,也能加快解析速度 。
报错信息解析:dns高速缓存测试报错信息
报错1:
可能导致的原因:
1.named服务没开,或没安装
2.火墙
3、dns本身设置未开放网络功能(端口未在ip上开放)报错2:
可能导致的原因:1.dns的配置中限制了当前主机访问服务的请求
七、搭建DNS正向解析
1、添加配置片段
首先,在 BIND DNS服务器的主配置文件 /etc/named.conf 和 子配置文件 /etc/named.rfc1912.zones 中添加配置片段。
主流做法是只在子配置文件中添加区域配置片段,这里是为了演示才在两个文件中都进行了配置。
主配置文件 vs 子配置文件:在哪个文件中添加区域配置片段的优缺点对比
场景 | 直接在主配置文件中添加 | 通过子配置文件引入 |
---|---|---|
配置复杂度 | 适合简单场景(如单区域)。 | 适合多区域场景,便于模块化管理。 |
可读性与维护性 | 配置集中在一个文件,可能显得冗长。 | 按功能拆分文件(如 zones 、acls ),结构清晰。 |
默认实践 | 非标准做法(主流发行版默认使用子文件)。 | 符合 BIND 最佳实践,便于系统升级和管理。 |
权限与安全性 | 无本质区别,但主文件修改需谨慎(误操作可能影响全局配置)。 | 子文件可单独控制权限(如仅允许特定用户修改区域配置)。 |
为什么主流做法使用子配置文件?
1. 配置模块化
- 将区域配置(
zone
)、访问控制(acl
)、日志规则等拆分到不同文件,避免主文件过于臃肿。
例如:// 主配置文件 `/etc/named.conf` include "/etc/named.options"; // 全局选项 include "/etc/named.zones"; // 区域配置 include "/etc/named.acls"; // ACL 规则
2. 系统兼容性
- 多数 Linux 发行版(如 CentOS、Ubuntu)默认通过
include
指令引用/etc/named.rfc1912.zones
作为区域配置文件。 - 直接修改主文件可能与系统升级或包管理工具(如
yum
)产生冲突(工具可能覆盖主文件)。
3. 权限隔离
- 子文件可单独设置权限(如
chmod 640 /etc/named.zones
),限制非管理员用户修改特定区域配置。
2、编写相应的区域文件
其次,要创建timinglee.org.zone这个文件,确保这个区域文件存在而且格式正确,所以下面我们选择直接将 BIND 的本地回环区域文件(通常用于 localhost 解析)复制为 timinglee.org
的区域文件,然后对这个区域文件再进行进一步修改以适配实际需求。
具体操作如下:
因为,/var/named/named.localhost的权限比较特殊,所以我们使用cp命令复制的时候要加上-p选项,将原文件的权限、所有者、组、时间戳等元数据等也一同复制。这对于复制系统配置文件(如 BIND 的区域文件)非常重要。
下图为刚复制过来的文件,实际配置还是为/var/named/named.localhost的配置,还未根据实际需求进行修改。
下图中的refresh、retry、expire 和 minimum 分别代表 刷新时间、重试时间、过期时间 和 A记录最短有效期,如果$TTL被设定那么以设定值为准。
下面将对区域文件/var/named/timinglee.org.zone进行修改,修改为下图这样子。
3、最后,重启服务,然后进行dns正向解析的测试
最后,我们使用systemctl restart named命令重启服务,然后进行dns正向解析的测试。
发现被写入区域文件的www.timinglee.org和bbs.timinglee.org可以进行访问,而没有写进区域文件的haha.timinglee.org则显示查询的域名不存在。
测试主机dns1 指定的 DNS 服务器的 IP 地址为自身的IP地址。
测试过程如下图:
八、辅助dns
1、部署辅助dns的方法
这里我们使用测试主机dns2来进行辅助dns的部署
测试主机dns1和dns2分别为主DNS和辅助DNS,将它们各自的DNS服务器指定为自己的IP地址。
在 BIND(Berkeley Internet Name Domain)DNS 服务器中,/var/named/slaves/
目录是 辅助 DNS 服务器(Slave DNS) 用于存储 从主服务器同步的区域数据文件 的默认路径。
2、辅助dns的数据同步优化
进行辅助dns数据同步优化的原因:
当主dns在更新域名的A记录辅助dns默认是不同步的,这样就会出现数据差异,使用辅助dns服务器作为解析服务器的用户得到的地址就是错误的。
解决方法:
让主dns主动通知辅助dns,让辅助dns知道主dns的A记录已经被更改,请同步数据到辅助dns上即可。
在进行完下图的配置后,要前往 /etc/named.conf 这个主配置文件将关于 timinglee.org 的区域配置删除,否则会让DNS 配置出现 区域重复定义 的问题,导致 BIND 无法启动。
使用区域配置文件中的serial值来进行同步数据,此值变化代表A记录更新。
serial值只能做增量变化,最大10位数。
在主dns中重启服务,再访问 www.timinglee.org ,发现域名解析出来的IP地址变成了192.168.52.100。
而辅助dns中连重启服务都不需要,直接就会向主dns同步数据,所以域名解析出来的IP地址也会变成192.168.52.100。
相关文章:

Linux中的域名解析服务器
一、DNS(域名系统)详解 1. 核心功能与特点 特性说明核心作用将域名(如 www.example.com)转换为 IP 地址(如 192.168.1.1),实现人类可读地址与机器可读地址的映射。端口与协议- 默认端口&#…...
如何优化Java中十进制字符串转十六进制的性能
在 Java 中优化十进制字符串转十六进制的性能,可以从减少对象创建、避免正则表达式、使用高效数据结构等方面入手。以下是具体的优化方案: 1. 避免字符串分割,直接遍历字符数组 原始方法(频繁创建子字符串)࿱…...

CycleISP: Real Image Restoration via Improved Data Synthesis通过改进数据合成实现真实图像恢复
摘要 大规模数据集的可用性极大释放了深度卷积神经网络(CNN)的潜力。然而,针对单图像去噪问题,获取真实数据集成本高昂且流程繁琐。因此,图像去噪算法主要基于合成数据开发与评估,这些数据通常通过广泛假设的加性高斯白噪声(AWGN)生成。尽管CNN在合成数据集上表现优异…...

Day28 Python打卡训练营
知识点回顾: 1. 类的定义 2. pass占位语句 3. 类的初始化方法 4. 类的普通方法 5. 类的继承:属性的继承、方法的继承 作业 题目1:定义圆(Circle)类 要求: 1. 包含属性:半径 radius。 2. …...
【OpenCV】基本数据类型及常见图像模式
是什么?能做什么?解决什么问题?为什么用它? OpenCV:是一个基于开源发行的跨平台计算机视觉库,实现 一、应用场景: 目标识别:人脸、车辆、车牌...自动驾驶医学影像分析视频内容理解与分析&…...

Linux之Nginx安装及配置原理篇(一)
Nginx安装及配置 前情回顾 首先针对Nginx进程模型,我们回顾一下它的原理机制,我们知道它是通过Master通过fork分发任务节点给予work节点,然后work节点触发了event事件,之后通过一个access_muttex互斥锁,来单线程调用我…...

【Linux网络】NAT和代理服务
NAT 之前我们讨论了,IPv4协议中,IP地址数量不充足的问题。 原始报文途径路由器WAN口时,对报文中的源IP进行替换的过程,叫做NAT。 NAT技术当前解决IP地址不够用的主要手段,是路由器的一个重要功能: NAT能…...

中药药效成分群的合成生物学研究进展-文献精读130
Advances in synthetic biology for producing potent pharmaceutical ingredients of traditional Chinese medicine 中药药效成分群的合成生物学研究进展 摘要 中药是中华民族的文化瑰宝,也是我国在新药创制领域的重要驱动力。许多中药材来源于稀缺物种…...

【消息队列】RabbitMQ基本认识
目录 一、基本概念 1. 生产者(Producer) 2. 消费者(Consumer) 3. 队列(Queue) 4. 交换器(Exchange) 5. 绑定(Binding) 6. 路由键(Routing …...
OCCT知识笔记之OCAF框架详解
OCAF框架在OCCT项目中的构建与使用指南 Open CASCADE Application Framework (OCAF)是Open CASCADE Technology (OCCT)中用于管理CAD数据的核心框架,它提供了一种结构化方式来组织和管理复杂的CAD数据,如装配体、形状、属性(颜色、材料)和元数据等。本文…...
蓝桥杯 16. 外卖店优先级
外卖店优先级 原题目链接 题目描述 “饱了么” 外卖系统中维护着 N 家外卖店,编号 1 ∼ N。每家外卖店都有一个优先级,初始时(0 时刻)优先级都为 0。 每经过 1 个时间单位: 如果外卖店没有订单,则优先…...

1T 服务器租用价格解析
服务器作为数据存储与处理的核心设备,对于企业和个人开发者而言至关重要。当涉及到租用 1T 服务器时,价格是大家很为关注的要点。然而,1T 服务器租用一个月的费用并非固定不变,而是受到诸多因素的综合影响。 影响 1T 服务器租用…...

【JavaWeb】Maven(下)
1 依赖管理 1.1 依赖配置 1.1.1 基本配置 依赖:指当前项目运行所需要的jar包。 一个项目中可以引入多个依赖: 例如:在当前工程中,我们需要用到logback来记录日志,此时就可以在maven工程的pom.xml文件中,引…...
java.lang.ArithmeticException
ArithmeticException算术异常类在java.lang包下,继承RuntimeException运行期异常,算术异常类在Java1.0就有,当发生异常算术条件时抛出算术异常类,譬如除数为0的情况,除数除不尽的情况。 一 异常出现场景 1.1 除数为零…...

openEuler24.03 LTS下安装MySQL8.0.42
目录 前提步骤 删除原有mysql及maridb数据库 安装MySQL 启动MySQL 启动查看MySQL状态 设置MySQL开机自启动 查看登录密码 登录MySQL 修改密码及支持远程连接 远程连接MySQL 前提步骤 拥有openEuler24.03 LTS环境,可参考:Vmware下安装openEule…...

gflags 安装及使用
目录 引言 安装 如何用 gflags 库写代码 如何用命令行使用 gflags 库 gflags 库的其他命令行参数 引言 gflags 是 Google 开发的一个开源库,用于 C 应用程序中命令行参数的声明、定义 和解析。 gflags 库提供了一种简单的方式来添加、解析和文档化命令行标…...

Linux面试题集合(2)
查看系统磁盘使用,当前目录下所有文件夹的使用情况 df -h du -h 更改目录所有人和所有组,包括里面的文件夹下的文件,递归更改 chown -R newowner:newgroup 目录名 只更改文件所有人或者只更改文件所有组 chown newowner file chgrp newgroup …...

致敬经典 << KR C >> 之打印输入单词水平直方图和以每行一个单词打印输入 (练习1-12和练习1-13)
1. 前言 不知道有多少同学正在自学C/C, 无论你是一个在校学生, 还是已经是上班族. 如果你想从事或即将从事软件开发这个行业, C/C都是一个几乎必须要接触的系统级程序开发语言. 虽然现在有Rust更安全的系统级编程语言作为C/C的替代, 但作为入门, C应该还是要好好学的. C最早由B…...
std::ratio<1,1000> 是什么意思?
author: hjjdebug date: 2025年 05月 14日 星期三 09:45:24 CST description: std::ratio<1,1000> 是什么意思? 文章目录 1. 它是一种数值吗?2. 它是一种类型吗?3. std:ratio 是什么呢?4. 分析一个展开后的模板函数5.小结: …...

基于Llama3的开发应用(二):大语言模型的工业部署
大语言模型的工业部署 0 前言1 ollama部署大模型1.1 ollama简介1.2 ollama的安装1.3 启动ollama服务1.4 下载模型1.5 通过API调用模型 2 vllm部署大模型2.1 vllm简介2.2 vllm的安装2.3 启动vllm模型服务2.4 API调用 3 LMDeploy部署大模型3.1 LMDeploy简介3.2 LMDeploy的安装3.3…...
2025.05.17淘天机考笔试真题第三题
📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 03. 奇偶平衡树分割问题 问题描述 K小姐是一位园林设计师,她设计了一个由多个花坛组成的树形公园。每个花坛中种植了不同数量的花…...

windows 10 做服务器 其他电脑无法访问,怎么回事?
一般我们会先打开win10自己的防火墙策略,但是容易忽略 电脑之间 路由器上的防火墙,此时也需要查看一下,可以尝试先关闭路由器防火墙,如果可以了,再 设置路由器上的防火墙规则。 将路由器的上网设置 改成 路由模式 &a…...

Linux进程信号处理(26)
文章目录 前言一、信号的处理时机处理情况“合适”的时机 二、用户态与内核态概念重谈进程地址空间信号的处理过程 三、信号的捕捉内核如何实现信号的捕捉?sigaction 四、信号部分小结五、可重入函数六、volatile七、SIGCHLD 信号总结 前言 这篇就是我们关于信号的最…...
【从设置到上传的全过程】本地多个hexo博客,怎么设置ssh才不会互相影响
偶然间,想多建一个博客,但电脑已经有一个博客了,怎么设置ssh才不会互相影响呢? 在 Windows 系统上设置多个 Hexo 博客的 SSH 配置,避免互相影响,通常户就需要为每个博客配置不同的 SSH 密钥,并…...
顶层架构 - 消息集群推送方案
一、推送基础概念简述 在即时通讯(IM)系统中,最基础的一件事就是“如何把消息推送给用户”。为了实现这个过程,我们要先了解两种常见的网络通信方式:HTTP 和 WebSocket。 1. HTTP 是什么? HTTP 就像一次性…...
Python训练打卡Day26
函数专题1:函数定义与参数 知识点回顾: 函数的定义变量作用域:局部变量和全局变量函数的参数类型:位置参数、默认参数、不定参数传递参数的手段:关键词参数传递参数的顺序:同时出现三种参数类型时 到目前为…...
构建优雅对象的艺术:Java 建造者模式的架构解析与工程实践
一、建造者模式的本质与核心价值 在面向对象的软件设计中,创建复杂对象一直是一个需要精心处理的问题。当一个对象的构建需要多个步骤,并且这些步骤具有不同的组合方式时,传统的构造函数方式会显得力不从心。建造者模式(Builder …...

报表控件stimulsoft教程:如何在报表和仪表板中创建热图
Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,Stimulsoft Ultimate包含了…...
(8)python开发经验
文章目录 1 下载python2 pip安装依赖无法访问3 系统支持4 下载python文档5 设置虚拟环境6 编译安装python 更多精彩内容👉内容导航 👈👉Qt开发 👈👉python开发 👈 1 下载python 下载地址尽量不要下载最新版…...
0x08.Redis 支持事务吗?如何实现?
回答重点 Redis 支持事务,但它的事务与 MySQL 等关系型数据库的事务有着本质区别。MySQL 中的事务严格遵循 ACID 特性,而 Redis 中的事务主要保证的是命令执行的原子性和隔离性,即所有命令在一个不可分割的操作中顺序执行,不会被其他客户端的命令请求所打断。 最关键的区…...