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

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

一、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.rhkb.cn/news/438354.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【rust/egui/android】在android中使用egui库

文章目录 说在前面AndroidStudio安装编译安装运行问题 说在前面 操作系统&#xff1a;windows11java版本&#xff1a;23android sdk版本&#xff1a;35android ndk版本&#xff1a;22rust版本&#xff1a; AndroidStudio安装 安装AndroidStudio是为了安装sdk、ndk&#xff0c;…

Python编写的贪吃蛇小游戏

安装包 pip install pygame完整代码 import pygame import randompygame.init()# 定义颜色 white (255, 255, 255) black (0, 0, 0) red (213, 50, 80) green (0, 255, 0) blue (50, 153, 213)# 定义屏幕大小 dis_width 800 dis_height 600dis pygame.display.set_mo…

探索TOGAF理论的实践应用:企业数字化转型的深度指南

数字化转型的迫切性与路径选择 随着全球化进程和技术革命的加速&#xff0c;企业正面临前所未有的挑战和机遇。数字化转型已成为企业保持竞争力、创新业务模式、优化客户体验的核心手段。然而&#xff0c;企业在实施数字化转型时&#xff0c;往往面临路径不清、技术与业务脱节…

win系统网络重置

重置网络命令&#xff1a;netsh winsock reset 输入winR 调用运行窗口&#xff0c;回车 输入重置网络命令&#xff1a;netsh winsock reset 注意空格

在Stable Diffusion WebUI中安装SadTalker插件时几种错误提示的处理方法

SD中的插件一般安装比较简单&#xff0c;但也有一些插件安装会比较难。比如我在安装SadTalker时&#xff0c;就遇到很多问题&#xff0c;一度放弃了&#xff0c;后来查了一些网上攻略&#xff0c;自己也反复查看日志&#xff0c;终于解决&#xff0c;不吐不快。 一、在Stable …

15分钟学 Python :编程工具 Idea 和 vscode 中配置 Python ( 补充 )

编程工具配置 Python 在 IDE 和 VSCode 中 在编程学习的过程中&#xff0c;选择合适的开发工具至关重要。本文将详细介绍在两种流行的IDE&#xff08;IntelliJ IDEA 和 Visual Studio Code&#xff09;中如何配置Python环境&#xff0c;帮助你更高效地进行Python开发。 一、编…

基于SSM的出租车租赁管理系统的设计与实现

文未可获取一份本项目的java源码和数据库参考。 1 选题的背景 现代社会&#xff0c;许多个人、家庭&#xff0c;因为生活、工作方式的改变&#xff0c;对汽车不再希望长期拥有&#xff0c;取而代之的是希望汽车能“召之即…

开源且实用的C#/.NET编程技巧练习宝库(学习,工作,实践指南)

DotNet Exercises介绍 DotNetGuide专栏C#/.NET/.NET Core编程常用语法、算法、技巧、中间件、类库、工作业务实操练习集&#xff0c;配套详细的文章教程讲解&#xff0c;助你快速掌握C#/.NET/.NET Core中各种编程常用语法、算法、技巧、中间件、类库、工作业务实操等等。 GitH…

【Spring Boot 入门二】Spring Boot中的配置文件 - 掌控你的应用设置

一、引言 在上一篇文章中&#xff0c;我们开启了Spring Boot的入门之旅&#xff0c;成功构建了第一个Spring Boot应用。我们从环境搭建开始&#xff0c;详细介绍了JDK的安装以及IDE的选择与配置&#xff0c;然后利用Spring Initializr创建了项目&#xff0c;分析了项目结构&am…

黑马linux笔记(转载)

学习链接 视频链接&#xff1a;黑马程序员新版Linux零基础快速入门到精通 原文链接&#xff1a;黑马程序员新版Linux零基础快速入门到精通——学习笔记 黑马Linux笔记 文章目录 学习链接01初识Linux1.1、操作系统概述1.1.1、硬件和软件1.1.2、操作系统1.1.3、常见操作系统 1.…

SSM人才信息招聘系统-计算机毕业设计源码28084

摘要 本研究旨在基于Java和SSM框架设计并实现一个人才信息招聘系统&#xff0c;旨在提升招聘流程的效率和精准度。通过深入研究Java和SSM框架在Web应用开发中的应用&#xff0c;结合人才招聘领域的需求&#xff0c;构建了一个功能完善、稳定高效的招聘系统。利用SSM框架的优势&…

数据订阅与消费中间件Canal 服务搭建(docker)

MySQL Bin-log开启 进入mysql容器 docker exec -it mysql5.7 bash开启mysql的binlog cd /etc/mysql/mysql.conf.dvi mysqld.cnf #在文件末尾处添加如下配置&#xff08;如果没有这个文件就创建一个&#xff09; [mysqld] # 开启 binlog log-binmysql-bin #log-bin/var/lib/mys…

CSP-J模拟赛三补题报告

前言 挂了110pts( ⇑ \Uparrow ⇑ \hspace{14em} 有史以来最大傻逼 T1&#xff1a; 100 p t s \color{green}100pts 100pts T2: 100 p t s → 80 p t s \color{green}100pts\color{yellow}\rightarrow\color{red}80pts 100pts→80pts T3: 100 p t s → 10 p t s \color{gre…

k8s架构,从clusterIP到光电半导体,再从clusterIP到企业管理

clusterIP作为k8s中的服务&#xff0c; 也是其他三个服务的基础 ~]$ kubectl create service clusterip externalname loadbalancer nodeport 客户端的流量到service service分发给pod&#xff0c;pod由控制器自动部署&#xff0c;自动维护 那么问题是service的可用…

【C++前缀和】1895. 最大的幻方|1781

本文涉及的基础知识点 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode1895. 最大的幻方 难度分&#xff1a;1781 一个 k x k 的 幻方 指的是一个 k x k 填满整数的方格阵&#xff0c;且每一行、每一列以及两条对角线的和 全部相…

ubuntu 设置静态IP

一、 ip addresssudo nano /etc/netplan/50-cloud-init.yaml 修改前&#xff1a; 修改后&#xff1a; # This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-inits # ne…

360浏览器时不时打不开csdn

从百度或者csdn的搜索中打开&#xff0c;会发现打不开网页&#xff0c;以前也出现过&#xff0c;只是以为这篇文章被删了&#xff0c;昨天接连多个文章打不开&#xff0c;怀疑的浏览器的问题&#xff0c;复制网址到edge浏览器就打开了 刚刚又出现了&#xff0c;怀疑360会拦截某…

Elasticsearch——数据聚合、数据同步与集群搭建

目录 1.数据聚合1.1.聚合的种类1.2.DSL实现聚合1.2.1.Bucket 聚合语法1.2.2.聚合结果排序1.2.3.限定聚合范围1.2.4.Metric 聚合语法1.2.5.小结 1.3.RestAPI 实现聚合1.3.1.API 语法1.3.2.业务需求1.3.3.业务实现 2.自动补全2.1.拼音分词器2.2.自定义分词器2.3.自动补全查询2.4.…

使用百度文心智能体创建多风格表情包设计助手

文章目录 一、智能定制&#xff0c;个性飞扬二、多元风格&#xff0c;创意无限 百度文心智能体平台为你开启。百度文心智能体平台&#xff0c;创建属于自己的智能体应用。百度文心智能体平台是百度旗下的智能AI平台&#xff0c;集成了先进的自然语言处理技术和人工智能技术&…

C++ STL 初探:打开标准模板库的大门

文章目录 C STL 初探&#xff1a;打开标准模板库的大门前言第一章: 什么是STL&#xff1f;1.1 标准模板库简介1.2 STL的历史背景1.3 STL的组成 第二章: STL的版本与演进2.1 不同的STL版本2.2 STL的影响与重要性 第三章: 为什么学习 STL&#xff1f;3.1 从手动编写到标准化解决方…