Linux复习--Linux服务管理类(SSH服务、DHCP+FTP、DNS服务、Apache服务、Nginx服务、HTTP状态码)

news2024/12/26 16:06:05

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除

一、SSH服务

1、问题引出

哪些设置能够提升SSH远程管理的安全等级?

2、SSH的登录验证方式-口令登录

3、SSH的登录验证方式-密钥登录

4、SSH的登录设置

配置文件:/etc/ssh/sshd_config

 vi /etc/ssh/sshd_config
 #Port 22                # SSH服务默认监听端口
 #ListenAddress 0.0.0.0  # SSH服务默认监听IP地址
 #PermitRootLogin yes    # 是否允许root用户使用ssh登录
 #MaxAuthTries 6         # 设置客户端登录失败尝试次数为6次
 ​
 vi /etc/profile
 #export TMOUT=300       # 设置客户端5分钟无操作自动断开连接

5、答案

  • 登录验证模式修改为密钥登录
  • 登录端口修改为非22端口以及指定监听IP
  • 禁止root用户远程登录
  • 设置无操作时自动断开连接
  • 设置登录失败后登录尝试次数为6次
  • 编写防火墙规则,使用白名单机制放行ssh服务的监听端口

6、扩展题

Q1:SSH连接时认证时间过长如何解决?

 vi /etc/ssh/sshd_config
 #UseDns yes             # 取消ssh登录时的dns反向解析请求功能
 ​
 # 注意事项:在/etc/ssh/sshd_config配置文件中注释掉的选项不代表不生效,反而代表默认生效,想关闭某功能,一定要取消注释然后修改为no才可以

Q2:scp和rsync进行远程文件复制有什么区别?

区别
scp全量备份文件级传输加密传输资源消耗低
rsync差异对比,增量备份分块校验,部分传输非加密传输资源消耗高(零散文件较多)

二、DHCP+FTP

1、问题引出

描述通过DHCP服务器获取IP地址的过程

2、DHCP租约四部曲

3、DHCP续租

4、DHCP租用失败

  • 如果DHCP客户机无法找到DHCP服务器,它将从TCP/IP的B类网段169.254.0.0/16中挑选一个IP地址作为自己的临时IP地址,继续每隔5分钟尝试与DHCP服务器进行通讯,一旦与DHCP服务器取得联系,则客户机放弃自动配置的临时IP地址,而使用DHCP服务器分配的IP地址。
  • DHCP客户机收到DHCP服务器回应的ACK报文后,通过地址冲突检测(arp)发现服务器分配的地址冲突或者由于其他原因导致不能使用,则发送DECLINE报文,通知服务器所分配的IP地址不可用。

5、答案

DHCP租约过程分4步:

  • 客户机请求IP(客户机发DHCPDISCOVER广播包)
  • 服务器响应(服务器发DHCPOFFER广播包)
  • 客户机选择IP(客户机发DHCPREQUEST广播包)
  • 服务器确定租约(服务器发DHCPACK/DHCPNAK广播包)

6、扩展题

Q1:简单描述FTP的主动模式和被动模式的区别?

Q2:集群环境中,如何保证所有服务器之间的时间误差较小

手动测试同步:ntpdate时间服务器IP地址
自动同步:将命令写入计划任务

三、DNS服务

1、问题引出

描述用户访问网站时DNS的解析过程

2、答案

  • 客户机首先查看本地hosts文件是否有解析记录,有则直接用来访问web server
  • 没有则向网卡中记录的首选DNS(本地DNS)发起查询请求
  • 本地DNS若有记录则返回给客户端,客户端接收接收到后直接访问web server,若没有,则本地DNS向根域服务器发起请求,请求解析对应顶级域的IP地址
  • 本地DNS得到顶级域服务器IP后,再向顶级域服务器发起请求,请求解析权威DNS服务器的IP地址
  • 本地DNS服务器获取到权威DNS服务器IP地址后,再向其查询具体的完整域名的对应解析记录
  • 最终本地DNS将查询到的对应域名的解析记录发送给客户端,并在本地记录一份

3、扩展题

解释权威DNS和递归DNS的含义,并描述只能DNS的实现原理

  • 权威DNS是经上一级授权对域名进行解析的DNS服务器,同时它可以把解析授权给其他服务器
  • 递归DNS负责接收用户对任何域名的查询,并返回结果给用户,它可以缓存结果避免用户再向上查询
  • 智能DNS就是将对用户发起的查询进行判断出是哪个运营商的用户查询,然后将请求转发给相应的运营商IP处理,减少跨运营访问的时间,提高访问速度

四、Apache配置

1、问题引出

公司有一台服务器,需要在上面跑两个网站,并且其中一个网站需要更换新域名,请问如何处理?

 网站1:www.a.com
 网站2:www.b.com(旧)        www.d.com(新)

2、rewrite地址重写

 <IfModule mod_rewrite.c>
 #在指定的网站目录下创建文件,并添加以下内容
 RewriteEngine on
 # 开启rewrite功能
 RewriteCond %{HTTP_HOST} ^www.b.com
 # 把以www.a.com开头的内容赋值给HTTP_HOST变量
 RewriteRule ^(.*)$ http://www.d.com/$1 [R=permanent,L]
 # ^(.*)$指代客户端要访问的资源
 # $1 把.*所指代的内容赋值到$1变量中
 # R=permanent 永久重定向=301
 # L 指定该规则为最后一条生效的规则,以后的不再生效
 </Ifmodule>

3、扩展题

Q1:简述Apache的三种工作模式?

Q2:写出工作中常见的Apache优化策略

  • 设置Apache的日志轮替和切割规则,防止日志过大
  • 美化错误页面,将错误信息重定向到首页或指定页面
  • 屏蔽Apache的版本等信息,防止被人获取Apache的相应版本
  • 配置静态缓存,减少对服务器的访问压力
  • 禁止解析指定目录下的页面程序,比如upload,禁止解析用户上传的脚本文件
  • ......

五、Nginx配置

1、问题引出

Apache和Nginx各有什么优缺点,应该如何选择?

2、Apache的优缺点

优点:

  • Apache的rewrite功能比nginx的要强大
  • 模块非常多,基本想要的功能都能找到模块
  • 存在时间较长,文献较全,bug也相对较少
  • 动静态解析都超稳定

缺点:

  • 由于工作模式是同步阻塞型,导致资源消耗较高,并发能力较差

3、Nginx的优缺点

优点:

  • 轻量级服务,比Apache占用更少的内存及资源
  • 并发能力强,nginx处理请求是异步非阻塞的,而Apache则是阻塞型的,在高并发下nginx能保持资源消耗高性能
  • 高度模块化设计,编写模块相对简单
  • 社区活跃,各种高性能模块产出迅速

缺点:

  • 动态处理上需要使用fastcgi连接PHP的FPM服务,相比Apache不占优势

4、Apache与Nginx的选择

Nginx适合做静态处理,简单,效率高
Apache适合做动态处理,稳定,功能强
并发较高的情况下优先选择Nginx,并发要求不高的情况下两者都可以,规模稍大的可以使用Nginx作为反向代理,然后将动态请求负载均衡到后端Apache上。

5、扩展题

Q1:为什么Nginx的并发能力强,资源消耗低?

答:首先了解什么是同步和异步;同步:小明收到快递即将送达的短信,在楼下一直等待快递到达。异步:小明收到快递即将到达的短信,小明不会下楼去取,而是快递小哥到楼下后,打电话通知小明,然后小明下楼取快递。

再了解一下阻塞与非阻塞:阻塞:小明收到快递即将到达的信息后,什么事都不做,一直专门等快递。非阻塞:小明收到快递即将到达的消息后,等快递的时候,还一边敲代码,一边听歌,等着快递送达的消息。

所以Nginx是以异步非阻塞方式工作:

  • 客户端发送request,服务器分配work进程来处理
  • 能立即处理完的,处理后work进程释放资源,进行下一个request的处理
  • 不能立即处理完的work进程注册返回事件,然后接着去处理其他request
  • 当之前的request结果返回后,触发返回事件,由空闲work进程接着处理通过这种快速处理,快速释放请求的方式,达到同样的配置可以处理更大并发量的目的

Q2:写出几个Nginx的常用模块,并描述其功能

  • http_ssl_module:实现服务器加密传输的模块,部署完成后可使用https://协议进程数据传输,保证数据传输过程的安全
  • http_image_filter_module:通过该模块可以实现图片裁剪,将过大的图片裁剪为指定大小的图片,生成缩略图,保证传输速率,该选项默认不开启
  • http_rewrite_module:Nginx的地址重写模块,功能与Apache的一样,可以实现通过正则匹配来完成条件判断,然后进行域名或url的重写。

六、Http状态码

写出几个常见的GTTP状态码,并解释出现原因

1、Http状态码分类

HTTP状态码是五个不同的类别:

  • 1**:信息,服务器收到请求,需要请求者继续执行操作
  • 2**:成功,操作被成功接收并处理
  • 3**:重定向,需要进一步的操作以完成请求
  • 4**:客户端错误,请求包含语法错误或无法完成请求
  • 5**:服务器错误,服务器在处理请求的过程中发生了错误

2、1**:信息响应

状态码状态码英文名称中文描述
100Continue继续。客户端应继续其请求
101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议

3、2**:成功响应

状态码状态码英文名称中文描述
200OK请求成功。一般用于GET与POST请求
201Created已创建。成功请求并创建了新的资源
202Accepted已接收。已经接收请求,但未处理完成
203Non-Authoritative Information非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本
204No Content无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
205Reset Content重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域
206Partial Content部分内容。服务器成功处理了部分GET请求

4、3**:重定向

状态码状态码英文名称中文描述
300Multiple Choices多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择
301Moved Permanently永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302Found临时移动。与301类似。但资源只是临时 被移动。客户端应继续使用原有URI
303See Other查看其他地址。与301类似。使用GET和POST请求查看
304Not Modified未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
305Use Proxy使用代理。所请求的资源必须通过代理访问
307Temporary Redirect临时重定向。与302类似。使用GET请求重定向

5、4**:客户端错误

状态码状态码英文名称中文描述
400Bad Request客户端请求的语法错误,服务器无法理解
401Unautherized请求要求用户的身份认证
402Payment Requied保留,将来使用
403Forbidden服务器理解请求客户端的请求,但是拒绝执行此请求
404Not Found服务器无法根据客户端的请求找到资源(网页)
405Method Not Allowed客户端请求中的方法被禁止
406Not Acceptable服务器无法根据客户端请求的内容特性完成请求
407Proxy Authentication Required请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权

6、5**:服务器端错误

状态码状态码英文名称中文描述
500Internal Server Error服务器内部错误,无法完成请求
501Not Implemented服务器不支持请求的功能,无法完成请求
502Bad Gateway作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
503Service Unavailable由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After信息中
504Gateway Time-out充当网关或代理的服务器,未及时从远端服务器获取请求
505HTTP Version not supported服务器不支持请求的HTTP协议的版本,无法完成处理

致谢

在此,我要对所有为知识共享做出贡献的个人和机构表示最深切的感谢。同时也感谢每一位花时间阅读这篇文章的读者,如果文章中有任何错误,欢迎留言指正。 

学习永无止境,让我们共同进步!!

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

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

相关文章

高质量的翻译如何提高界面可用性

翻译质量在提高界面可用性方面起着重要作用&#xff0c;特别是在全球受众使用的应用程序、网站和软件中。有效地翻译界面可以确保清晰度、连贯性和易用性&#xff0c;从而改善不同地区和语言的用户体验。以下是高质量翻译提高界面可用性的关键方法&#xff1a; 清晰直观的导航…

SAP HCM PE51工资单教程

作者&#xff1a;vivi&#xff0c;来源&#xff1a;osinnovation 一&#xff1a;故事背景 最近在做一个越南的ecp集成事情&#xff0c;因为客户是越南&#xff0c;所以对工资单没有国内一样&#xff0c;用微信小程序一套单独开发&#xff0c;而是使用标准的paylisp&#xff0…

【路径规划】路径平滑算法,A星算法拐点的圆弧化处理

摘要 A算法广泛应用于路径规划中&#xff0c;但其生成的路径通常在拐点处呈现不平滑的折线。为了提升路径的平滑性&#xff0c;本文提出了一种基于圆弧的平滑处理方法&#xff0c;用于对A算法产生的路径拐点进行优化。通过在MATLAB中进行仿真验证&#xff0c;该方法能够有效减…

9. 正则表达式

编程工具和技术是以一种混乱、进化的方式生存和传播的。获胜的并不总是最好或最杰出的工具&#xff0c;而是那些在合适的利基市场中发挥足够好的功能&#xff0c;或者恰好与另一项成功的技术相结合的工具。 在本章中&#xff0c;我将讨论这样一种工具--正则表达式。正则表达式是…

YOLOv11改进 | 上采样篇 | YOLOv11引入DySample轻量级动态上采样器

1. DySample介绍 1.1 摘要&#xff1a;我们提出了DySample&#xff0c;一个超轻量和有效的动态上采样器。虽然最近的基于内核的动态上采样器&#xff08;如CARAFE、FADE和SAPA&#xff09;的性能提升令人印象深刻&#xff0c;但它们引入了大量工作负载&#xff0c;主要是由于耗…

Spring Boot 中的拦截器 Interceptors

​ 博客主页: 南来_北往 系列专栏&#xff1a;Spring Boot实战 前言 Spring Boot中的拦截器&#xff08;Interceptor&#xff09;是一种用于拦截和处理HTTP请求的机制&#xff0c;它基于Spring MVC框架中的HandlerInterceptor接口实现。拦截器允许在请求到达控制器&#…

C++函数模板、选择排序实现(从大到小)

template <class T> void mysw (T &a , T &b) {T temp b;b a;a temp; }template <class T> void muSort( T &arr ,int len) {//该实现为选择排序(高到低)for (int i 0; i < len; i) {int max i ; //首先默认本次循环首位元素为最大for (int j …

scrapy爬取汽车、车评数据【中】

这个爬虫我想分三期来写&#xff1a; ✅ 第一期写如何爬取汽车的车型信息&#xff1b; ✅ 第二期写如何爬取汽车的车评&#xff1b; ✅ 第三期写如何对车评嵌入情感分析结果&#xff0c;以及用简单的方法把数据插入mysql中&#xff1b; 技术基于scrapy框架、BERT语言模型、mysq…

SQL Server中关于个性化需求批量删除表的做法

在实际开发中&#xff0c;我们常常会遇到需要批量删除表&#xff0c;且具有共同特征的情况&#xff0c;例如&#xff1a;找出表名中数字结尾的表之类的&#xff0c;本文我将以3中类似情况为例&#xff0c;来示范并解说此类需求如何完成&#xff1a; 第一种&#xff0c;批量删除…

【Godot4.3】图形碰撞相关函数库ShapeTests

概述 最近积累了一些图形重叠检测&#xff0c;以及求图形的轴对齐包围盒Rect2&#xff0c;还有求Rect2的外接圆等函数。感觉可以作为一个单独的函数库&#xff0c;提供日常的使用&#xff0c;所以汇总成了ShapeTests。 注意&#xff1a;函数名和写法可能会不断改进。 代码 …

基于SSM的北京冬奥会志愿者服务系统

文未可获取一份本项目的java源码和数据库参考。 本课题国内外研究现状 当前&#xff0c;国外志愿者服务活动开展的十分活跃。志愿服务正以其突出的社会效益受到越来越多国家政府的重视。许多国家的志愿服务活动起步早、规模大&#xff0c;社会效益好。他们在国内有广泛的群众…

第四届生物医学与智能系统国际学术会议(IC-BIS 2025)

在线投稿&#xff1a;学术会议-学术交流征稿-学术会议在线-艾思科蓝 2025年第四届生物医学与智能系统国际学术会议&#xff08;IC-BIS 2025&#xff09; 将于2025年4月11-13日在意大利隆重举行。 该会议旨在汇集全球学术界和工业界的研究人员、专家和从业人员&#xff0c;共…

C(十)for循环 --- 黑神话情景

前言&#xff1a; "踏过三界宝刹&#xff0c;阅过四洲繁华。笑过五蕴痴缠&#xff0c;舍过六根牵挂。怕什么欲念不休&#xff0c;怕什么浪迹天涯。步履不停&#xff0c;便是得救之法。" 国际惯例&#xff0c;开篇先喝碗鸡汤。 今天&#xff0c;杰哥写的 for 循环相…

android Activity生命周期

android 中一个 activity 在其生命周期中会经历多种状态。 您可以使用一系列回调来处理状态之间的转换。下面我们来介绍这些回调。 onCreate&#xff08;创建阶段&#xff09; 初始化组件&#xff1a;在这个阶段&#xff0c;Activity的主要工作是进行初始化操作。这包括为Ac…

【Bug】STM32F1的PB3和PB4无法正常输出

Bug 使用标准库配置STM32F103C8T6的PB3和PB4引脚输出控制LED灯时&#xff0c;发现引脚电平没有变化无法正常输出高低电平&#xff0c;配置代码如下&#xff1a; GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE ); GPIO_InitStruc…

Maven项目管理入门:POM文件详解与依赖管理

目录 1、pom配置详解 2、依赖管理 2.1 Maven坐标 2.2 依赖导入 1、使用IDEA工具导入&#xff1a; 2、从远程仓库中获取坐标 3、maven插件 maven是一个项目管理工具&#xff0c;其中依靠于一个很重要的xml文件&#xff1a;pom.xml。我们接下来学习下pom.xml文件的配置。 …

论文阅读:PET/CT Cross-modal medical image fusion of lung tumors based on DCIF-GAN

摘要 背景&#xff1a; 基于GAN的融合方法存在训练不稳定&#xff0c;提取图像的局部和全局上下文语义信息能力不足&#xff0c;交互融合程度不够等问题 贡献&#xff1a; 提出双耦合交互式融合GAN&#xff08;Dual-Coupled Interactive Fusion GAN&#xff0c;DCIF-GAN&…

第十三章 集合

一、集合的概念 集合&#xff1a;将若干用途、性质相同或相近的“数据”组合而成的一个整体 Java集合中只能保存引用类型的数据&#xff0c;不能保存基本类型数据 数组的缺点&#xff1a;长度不可变 Java中常用集合&#xff1a; 1.Set(集):集合中的对象不按特定方式排序&a…

FastGPT的使用

fastGPT的介绍&#xff1a; fastGPT其实和chatGPT差不多 但是好处是可以自行搭建&#xff0c;而且很方便 链接&#xff1a;https://cloud.fastgpt.cn/app/list 首先我们可以根据红框点击&#xff0c;创建一个简易的对话引导 这个机器人就非常的简易&#xff0c;只能完成一些翻…

自动驾驶系列—LDW(车道偏离预警):智能驾驶的安全守护者

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…