Day 21 LAMP架构和DNS域名

news2024/9/21 12:42:50

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客户端查询

host 解析域名对应的IP地址和别名等信息

安装:yum -y install bind-utils

host [参数] [主机名或IP] [server]

参数:

-a:列出该主机详细的各项主机名称设定资料

server:host 命令默认是使用 /etc/resolv.conf 文件中的 DNS 主机来查询的,若设置该参数,则使用这里设置的 DNS 主机进行查询。

实例:host -a www.baidu.com 8.8.8.8

使用8.8.8.8 DNS服务器查询www.baidu.com的对应IP,别名等详细信息

nslookup解析域名对应的IP地址

nslookup 域名

dig解析域名对应的IP地址

dig 域名

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欺骗和缓存污染等攻击,能够保护用户不被重定向到非预期地址,从而提高用户对互联网的信任。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows电脑改造为linux

有个大学用的旧笔记本电脑没啥用了,决定把它改成linux搭一个服务器; 一、linux安装盘制作 首先要有一个大于8G的U盘,然后去下载需要的linux系统镜像,我下的是ubuntu,这里自选版本 https://cn.ubuntu.com/download/d…

第三节课,后端登录【1】.1--本人

一、后端登录逻辑,检测账户密码是否合法及密码输入是否正确 视频链接: 网址: 第三节:【视频】后端登录逻辑,检测账户密码是否合法及密码输入是否正确视频链接:-CSDN博客 从5.1开始 这是一个Java方法&am…

新能源设备远程监控解决方案

新能源设备远程监控解决方案 在当今全球能源转型的大背景下,新能源设备的广泛应用已成为应对环境挑战、推动可持续发展的重要途径。然而,新能源设备的高效运维与管理却面临诸多挑战,尤其是在地域广阔、环境复杂的应用场景中,如何…

Ragas

文章目录 一、关于 Ragas二、安装🛡️三、快速使用 🔥Open Analytics 🔍 四、References五、生成综合测试集文档数据生成 六、使用您的测试集进行评估数据Metrics 指标评估 七、监控生产中的 RAG需要监控的方面 一、关于 Ragas Ragas 是 RAG…

FPGA -手写异步FIFO

一,FIFO原理 FIFO(First In First Out)是一种先进先出的数据缓存器,没有外部读写地址线,使用起来非常简单,只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成&a…

游戏新手村20:游戏落地页广告页如何设计

在互联网营销中,着陆页(Landing Page,有时被称为首要捕获用户页)就是当潜在用户点击广告或者搜索引擎搜索结果页后显示给用户的网页,LandingPage对于游戏广告的转化率和重要性就不言而喻了。 网页游戏LP页面 上图就是我们大家在浏览网站时不小心蹦出或者主动点击某…

一文讲解Android车载系统camera架构 - EVS

Android的camera开发中,使用最多的是camera2 以及现在Google主推的cameraX 架构,而这两个架构主要针对的是手机移动端上camera的流程。 而今天介绍的EVS(Exterior View System)架构是不同于camera2上的手机架构,针对Automotive的版本&#x…

数据库介绍(Mysql安装)

前言 工程师再在存储数据用文件就可以了,为什么还要弄个数据库? 一、什么是数据库? 文件保存数据有以下几个缺点: 文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便 数据库存储介质: 磁…

Blender游戏资产优化技巧

创建视频游戏资产既具有挑战性又富有回报。 经过一些研究并根据我的经验,这里有三个技巧可以帮助你使用 Blender 优化游戏资产。 在 Blender 中优化游戏资源的三种技术可以归结为拥有高效的 3D 模型拓扑、通过烘焙优化纹理,以及最后通过 Blender 节点的…

智慧校园建设有哪些新策略?

在现有智慧校园建设方案中,智慧校园主要是用于解决学校日常事务,如学工管理,教工管理等,并利用数据分析,指导学校的一些决策行为。但随着新技术的不断发展,尤其是云计算、大数据、物联网、移动互联网、人工…

python应用-socket网络编程(1)

目录 1 先简单回顾下客户端和服务端通信的知识 2 服务端常用函数 3 客户端常用函数 4 服务端和客户端都用的函数 5 示例介绍客户端和服务端通信过程 6 建立服务端套接制 7 创建服务端函数socket.create_server() 8 创建客户端套接字 9 客户端连接函数socket.create_co…

春秋云镜 CVE-2023-50564

靶标介绍: Pluck-CMS v4.7.18 中的 /inc/modules_install.php 组件,攻击者可以通过上传一个精心制作的 ZIP 文件来执行任意代码。 开启靶场: 1、点击 admin 进入登录界面 2、使用Burp爆破出登录密码为:admin123,使用…

【吊打面试官系列】Java高并发篇 - 为什么 wait, notify 和 notifyAll 这些方法不在 thread类里面?

大家好,我是锋哥。今天分享关于 【为什么 wait, notify 和 notifyAll 这些方法不在 thread类里面?】面试题,希望对大家有帮助; 为什么 wait, notify 和 notifyAll 这些方法不在 thread类里面? 一个很明显的原因是 JAVA…

个人学习总结__打开摄像头、播放网络视频的以及ffmpeg推流

前言 最近入手了一款非常便宜的usb摄像头(买回来感觉画质很低,没有描述的4k,不过也够用于学习了),想着利用它来开启流媒体相关技术的学习。第一步便是打开摄像头,从而才能够对它进行一系列后续操作,诸如实…

python-pytorch 如何使用python库Netron查看模型结构(以pytorch官网模型为例)0.9.2

Netron查看模型结构 参照模型安装Netron写netron代码运行查看结果需要关注的地方 2024年4月27日14:32:30----0.9.2 参照模型 以pytorch官网的tutorial为观察对象,链接是https://pytorch.org/tutorials/intermediate/char_rnn_classification_tutorial.html 模型代…

IDEA代码重构

重构 重构的目的: 提高代码的可读性、可维护性、可扩展性和性能。 重命名元素 重命名类 当我们进行重命名操作的时候可以看到第六行存在一个R(rename),点击后就会弹出所偶有引用,这样可以避免我们在修改后存在遗漏引用处未修改。 我们可以通过…

Vue项目解决自定义el-dialog的border-radius无效的问题

一、问题产生的原因 自定义el-dialog的border-radius无效的原因其实就是因为层级的问题, f12打开样式检查就能发现组件自身已经全局定义了一个圆角变量 二、解决方法 和上面一样,在项目全局也就是在app.vue中定义全局变量 并且需要给!important&a…

【阿里云笔试题汇总】2024-04-20-阿里云春招笔试题-三语言题解(CPP/Python/Java)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新阿里云近期的春秋招笔试题汇总~ 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢&#x1f…

3. uniapp开发工具的一些事

前言 新的一天,又要开始卷起来了,开发程序开发当前离不开开发工具,一个好的开发工具办事起来那必然是事倍功半的...本文主要分享了关于uniapp里开发工具的一些事~ 概述 阅读时间:约5~7分钟; 本文重点&am…

《深入理解mybatis原理》 MyBatis的架构设计以及实例分析

《深入理解mybatis原理》 MyBatis的架构设计以及实例分析 MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查…