Day 21 LAMP架构和DNS域名

LAMP架构简介

针对不同的后端开发语言,使用不同的架构,后端项目开发语言有:Java,PHP,Python......

针对于PHP项目

LAMP架构

Linux+Apache+Mysql/Mariadb+Php

LNMP架构

Linux+Nginx+Mysql/Mariadb+Php

针对于Java项目

war包  LA/NMJT架构

Linux+Apache/Nginx+Mysql/Mariadb+Java+Tomcat

jar包   LA/NMJ架构

Linux+Apache/Nginx+Mysql/Mariadb+Java

案例:使用LAMP架构搭建个人博客

①安装LAMP架构所需要的软件包

yum -y install httpd mariadb mariadb-server php php-fpm php-mysql php-gd gd

②启动并设置开机自启动LAMP架构

systemctl start httpd mariadb php-fpm

systemctl enable httpd mariadb php-fpm

③配置服务(使用应用默认配置)

Apache

将软件包上传至服务器,并解压

tar xf wordpress-4.9.1-zh_CN.tar.gz 

将项目包内容拷贝到网页默认发布目录 /var/www/html/ 下

cp -r /tmp/wordpress/* /var/www/html/

设置项目包权限(此处直接给发布目录777权限)

chmod 777 -R /var/www/html/

重启httpd

systemctl restart httpd

Mariadb

root 默认没有密码,先设定root密码

mysqladmin -u root password ‘123’

进入数据库

mysql -u root -p123

创建数据库

create database wordpress;

退出数据库

exit;

Php

使用默认配置,不做修改

④登录验证测试

在浏览器输入服务器IP地址登录博客,并填写以下信息

完成

DNS域名

DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

域名的分层结构

由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。

这里,“域”(domain)是名字空间中一个可被管理的划分。从语法上讲,每一个域名都是有标号(label)序列组成,而各标号之间用点(小数点)隔开。域名可以划分为各个子域,子域还可以继续划分为子域的子域,这样就形成了顶级域主域名子域名等。关于域名层次结构如下图

域名分层实例

以百度为例:www.baidu.com

.com 顶级域

baidu.com    主域名(一级域名)   

www.baidu.com    子域名(二级域名)

tieba.baidu.com    子域名的子域(三级域名) ......

一般从子域名(二级域名)开始绑定IP地址

常见顶级域

.com 商业机构; .org 公益组织; .net 网络技术组织; .gov 政府机构; .edu 教育机构;

.cn 中国; .us 美国;......

DNS服务器的分层结构

域名是分层结构,域名DNS服务器也是对应的层级结构。有了域名结构,还需要有域名DNS服务器去解析域名,且是需要由遍及全世界的域名DNS服务器去解析,域名DNS服务器实际上就是装有域名系统的主机。域名解析过程涉及4个DNS服务器

根域名服务器

Root nameserver,DNS层次结构的顶层,负责存储有关顶级域(例如.com、.org、.net等)的DNS信息。本地域名服务器在本地查询不到解析结果时,则第一步会向它进行查询,并获取顶级域名服务器的IP地址。全球一共有13台根服务器,美国10台,日本,英国,瑞典各1台。

顶级域名服务器

Tld nameserver,负责管理在该顶级域名服务器下注册的二级域名,例如“www.example.com”,.com则是顶级域名服务器,在向它查询时,可以返回二级域名“example.com”所在的权威域名服务器地址

权威域名服务器

authoritative nameserver,在特定区域内具有唯一性,负责维护该区域内的域名与IP地址之间的对应关系,例如云解析DNS。此外还有非权威服务器,该DNS服务器中存放是缓存数据,不具有权威性。

本地域名服务器

DNS resolver或Local DNS,本地域名服务器是响应来自客户端的递归请求,并最终跟踪直到获取到解析结果的DNS服务器。例如用户本机自动分配的DNS、运营商ISP分配的DNS、谷歌/114公共DNS等

注意:

每个层的域名上都有自己的域名服务器,最顶层的是根域名服务器
每一级域名服务器都知道下级域名服务器的IP地址,以便于一级一级向下查询

DNS解析流程

①客户端查询自己的缓存,再查询本地域名解析文件/etc/hosts中的记录,如果没有记录,将查询请求发送 /etc/resolv.conf 或 /etc/sysconfig/network-scripts/ifcfg-ens33 网卡配置文件中的指定的DNS服务器

Linux本地域名解析文件:/etc/hosts

Windows本地域名解析文件:C:\Windows\System32\drivers\etc\hosts

网卡配置文件中的DNS服务器地址永久生效,/etc/resolv.conf中的DNS服务器地址临时生效

②如果对于请求的信息具有权威性,会将(权威答案)发送到客户端。

③否则(本地DNS服务器不具有权威性),那么DNS服务器会在其缓存中查看是否有以前的请求信息留下的缓存,如果有则将(非权威答案)发送到客户端 。

④如果缓存也中没有该查询信息,DNS服务器从根域服务器开始,按照DNS层次结构向下搜索,一直查到对于信息具有权威的名称服务器,为客户端获答案。

⑤DNS服务器将信息传递给客户端 ,并在自己的缓存中保留一个副本,以备以后查找

域名备案

非法域名

使用过程中绑定局域网IP即可(一般个人虚拟机做实验时使用)

合法域名

需要购买,使用过程中需要绑定合法公网IP地址

在合法域名没有备案的情况下,80和443端口不可使用,备案后还需在网页中标明备案信息

一般备案审查条件:域名+云服务器(至少三个月)

域名商和云服务器提供商可以不是同一个平台,云服务器的厂商一般都自带公网IP

在域名购买平台添加IP记录即可

DNS记录类型

前三种较为常用

记录类型功能描述
AIPV4记录,支持将域名映射到IPv4地址使用
AAAAIPV6记录,支持将域名映射到IPv6地址使用
CNAME别名记录,支持将域名指向另外一个域名
MX电邮交互记录,支持将域名指向邮件服务器地址
TXT文本记录,是任意可读的文本DNS记录
SRV服务器资源记录,用来标识某台服务器使用了某个服务,常见于微软系统的目录管理
NS名称服务器记录,支持将子域名委托给其他DNS服务商解析
CAACAA资源记录,可以限定域名颁发证书和CA(证书颁发机构)之间的联系

DNS术语

递归查询
是指DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结构提交给用户。


迭代查询
是指DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。


DNS缓存
DNS缓存是将解析数据存储在靠近发起请求的客户端的位置,也可以说DNS数据是可以缓存在任意位置,最终目的是以此减少递归查询过程,可以更快的让用户获得请求结果。


TTL
Time To Live ,这个值是告诉本地域名服务器,域名解析结果可缓存的最长时间,缓存时间到期后本地域名服务器则会删除该解析记录的数据,删除之后,如有用户请求域名,则会重新进行递归查询/迭代查询的过程。

TLD Server
Top-level domains Server,指顶级域名服务器。

DNS Resolver
指本地域名服务器,它是DNS查找中的第一站,是负责处理发出初始请求的DNS服务器。运营商ISP分配的DNS、谷歌8.8.8.8等都属于DNS Resolver。

Root Server
指根域名服务器,当本地域名服务器在本地查询不到解析结果时,则第一步会向它进行查询,并获取顶级域名服务器的IP地址。

DNS Query Flood Attack
指域名查询攻击,攻击方法是通过操纵大量傀儡机器,发送海量的域名查询请求,当每秒域名查询请求次数超过DNS服务器可承载的能力时,则会造成解析域名超时从而直接影响业务的可用性

URL转发
Url Forwarding,也可称地址转向,它是通过服务器的特殊设置,将一个域名指向到另外一个已存在的站点

DNSSEC
域名系统安全扩展(DNS Security Extensions),简称DNSSEC。它是通过数字签名来保证DNS应答报文的真实性和完整性,可有效防止DNS欺骗和缓存污染等攻击,能够保护用户不被重定向到非预期地址,从而提高用户对互联网的信任。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/571754.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

百度安全多篇议题入选Blackhat Asia以硬技术发现“芯”问题

Blackhat Asia 2024于4月中旬在新加坡隆重举行。此次大会聚集了业界最杰出的信息安全专业人士和研究者,为参会人员提供了安全领域最新的研究成果和发展趋势。在本次大会上,百度安全共有三篇技术议题被大会收录,主要围绕自动驾驶控制器安全、跨…

C++ 泛型编程篇(一) 模板初阶

目录 〇、为什么需要模板? 一、函数模板 1. 函数模板概念 2. 函数模板格式 3. 函数模板的原理 4. 隐式实例化和显示实例化 5. 无法推导模板类型的情况 a. 只设置一个模板,但两个不同的参数类型使用模板 b. 函数体中使用了模板 6. 同名普通函数和模板函…

字符串型漏洞注入

SQL注入是一种严重的安全漏洞,它允许攻击者在不受控制的情况下执行任意的SQL代码。这种攻击通常发生在Web应用程序没有正确验证或转义用户输入的情况下。字符串型注入是SQL注入的一种形式,它涉及到在应用程序的输入框中插入恶意的字符串,以干…

K8S--常用的命令

原文网址:K8S--常用的命令-CSDN博客 简介 本文介绍K8S常用的命令。 官网 简略用法:https://kubernetes.io/zh-cn/docs/reference/kubectl/ 详细用法(有示例):https://kubernetes.io/docs/reference/generated/kub…

MINIO安装的方法(WindowsLiunx)

2 minio安装教程 注:官方中文文档:MinIO对象存储 Windows — MinIO中文文档 | MinIO Windows中文文档 Liunx 安装方:MinIO对象存储 Linux — MinIO中文文档 | MinIO Linux中文文档 2.1 下载地址 https://dl.min.io/server/minio/…

Quarto Dashboards 教程 1:Overview

「写在前面」 学习一个软件最好的方法就是啃它的官方文档。本着自己学习、分享他人的态度,分享官方文档的中文教程。软件可能随时更新,建议配合官方文档一起阅读。推荐先按顺序阅读往期内容: 1.quarto 教程 1:Hello, Quarto 2.qu…

基于python+django+mysql农业生产可视化系统

博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…

Tiny11作者开源:利用微软官方镜像制作独属于你的Tiny11镜像

微软对Windows 11的最低硬件要求包括至少4GB的内存、双核处理器和64GB的SSD存储。然而,这些基本要求仅仅能保证用户启动和运行系统,而非流畅使用 为了提升体验,不少用户选择通过精简系统来减轻硬件负担,我们熟知的Tiny11便是其中…

【linux】Linux第一个小程序-进度条

1. 预备知识:回车和换行 回车(Carriage Return,CR): 在早期的机械打字机中,回车指的是将打字机的打印头移回到行首的操作,这样打印头就可以开始新的一行的打印。在ASCII编码中,回车用…

【VueUse】重新定义状态管理在 Vue 中的体验

在 Vue 生态系统中,状态管理一直是开发者们关注的焦点之一。而随着 VueUse 的出现,我们迎来了一种全新的方式来处理状态管理,它让我们能够以更简单、更灵活的方式来管理应用程序的状态。 在本文中我们将深入探讨 VueUse 中与状态管理相关的内…

第一篇【传奇开心果系列】Python深度学习库技术点案例示例:深度解读深度学习在自动驾驶领域的应用

传奇开心果博文系列 系列博文目录Python深度学习库技术点案例示例系列 博文目录前言一、深度学习在自动驾驶方面的应用介绍二、目标检测和识别示例代码三、路况感知示例代码四、行为预测示例代码五、路径规划示例代码六、自动驾驶控制示例代码七、感知融合示例代码八、高精度地…

基于Springboot的点餐平台

基于SpringbootVue的点餐平台的设计与实现 开发语言:Java数据库:MySQL技术:SpringbootMybatis工具:IDEA、Maven、Navicat 系统展示 用户登录 首页展示 菜品信息 菜品资讯 购物车 后台登录 用户管理 菜品分类管理 菜品信息管理 …

npm、yarn与pnpm详解

🔥 npm、yarn与pnpm详解 🔖 一、npm 🔍 简介: npm是随Node.js一起安装的官方包管理工具,它为开发者搭建了一个庞大的资源库,允许他们在这个平台上搜索、安装和管理项目所必需的各种代码库或模块。 &#…

【网页在线小游戏源码】

网页在线小游戏源码 效果图部分源码领取源码下期更新预报 效果图 部分源码 index.html <!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <meta id"viewport" na…

零代码编程:下载的PDF文件自动批量重命名

从arxiv或者一些其他网站下载的PDF文件&#xff0c;标题只是创建时间&#xff0c;看不出里面内容是什么&#xff0c;要一个个打开看非常麻烦。 可以在GPT4中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;要完成一个编写关于重命名PDF文件的Python脚本的任务&…

Llama-7b-Chinese本地推理

Llama-7b-Chinese 本地推理 基础环境信息&#xff08;wsl2安装Ubuntu22.04 miniconda&#xff09; 使用miniconda搭建环境 (base) :~$ conda create --name Llama-7b-Chinese python3.10 Channels:- defaults Platform: linux-64 Collecting package metadata (repodata.js…

机器学习和深度学习-- 李宏毅(笔记与个人理解)Day22

Day 22 Transformer seqence to seqence 有什么用呢&#xff1f; Encoder how Block work 仔细讲讲Residual 的过程&#xff1f; 重构 Decoder - AutoRegressive Mask 由于是文字接龙&#xff0c;所以无法考虑右边的 info 另一种decoder Encoder to Decoder – Cross Attend…

❤mac使用Idea工具

❤mac使用Idea工具 1、安装 直接跳过&#xff0c;文章有 &#xff08;点击跳转&#xff09; 给自己的mac系统上安装java环境 2、使用 快捷键 Command , 系统首选项 设置Idea连接数据库 打开右侧的database&#xff08;或菜单里&#xff09;连接数据库&#xff0c;根据提…

opencv绘制线段------c++

绘制线段 bool opencvTool::drawLines(std::string image_p, std::vector<cv::Point> points) {cv::Mat ima cv::imread(image_p.c_str()); // 读取图像&#xff0c;替换为你的图片路径 cv::Scalar red cv::Scalar(0, 0, 255); // Red color int thickness 2;// 遍…

Vue3 超前版发布,全面拥抱 JSX/TSX

拥抱 JSX/TSX? 我们都知道 Vue 一直主流是使用 template 模板来进行页面的编写。而就在最近,Vue3 的超前项目 Vue Macros 中,发布了 defineRender、setupComponent、setupSFC 这些新的 API,这代表了,以后 Vue3 有可能可以全面拥抱 JSX/TSX 了!! 说这个新 API 之前,我…