2024年最新运维面试题(附答案)

网络豆 2024-07-24 09:07:02 阅读 61

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 

公众号:网络豆云计算学堂

 座右铭:低头赶路,敬事如仪

个人主页: 网络豆的主页​​​​​

一.选择题

1.HTTP协议默认使用哪个端口?

A. 80 (http超文本传输协议)

B. 443  (https 安全超文本传输协议SSL/TLS加密)

C. 80  (http备用端口)

D. 21  (FTP 文件传输协议) 

答案:A

2.以下哪个请求方法是HTTP协议中用于获取资源的

GET: (下载)POST:(用户向服务器提高数据)PUT: (上传)DELETE: (请求删除指定的资源)

答案:A

3.在HTTP协议中,以下哪个请求头用于指定可以接受的响应内容类型?

A. Accept (内容类型)

B. Content-Typ(响应头(告诉客户端返回的内容类型))

C. User-Agent (请求头:浏览器版本,操作系统)

D. Referer (请求头:日志记录)

答案:A

4.以下哪个协议用于加密HTTP通信?

A. SSL (加密)

B. TLS (实现 HTTPS 加密的关键技术)

C. HTTPS (加密的超文本传输协议)

D. SSH (远程连接,加密通信)

答案:C

5.在HTTP协议中,以下哪个请求头用于指定请求体的内容类型? 

A. Accept (响应内容)

B. Content-Type (请求头:浏览器版本,操作系统)

C. User-Agent (向服务器提供客户端的相关信息)

D. Referer (告知服务器当前请求页面的来源页面地址)

答案:B

6.以下哪个状态码表示HTTP请求的资源未找到?

A. 200  (请求成功并返回所请求的数据。)

B. 404 (请求的资源未找到)

C. 500 (服务器内部错误)

D. 301 (表示永久重定向)

答案:B

7.在HTTP协议中,以下哪个响应头用于指定资源的最后修改时间?

A. Last-Modified (指定资源的最后修改时间)

B. ETag (用于标识资源的版本)

C. Expires (用于指定资源的过期时间)

D. Cache-Control (控制缓存策略)

答案:A

8. 在Nginx中,哪个指令用于设置客户端请求体的最大值?

A. client_max_body_size (客户端请求体的最大值)

B. client_body_buffer_size

C. client_body_temp_path

D. client_body_timeout

答案:A

9. 以下哪个模块是Nginx提供的反向代理模块?

A. ngx_http_proxy_module  (Nginx 提供的反向代理模块)

B. ngx_http_fastcgi_module (处理 FastCGI 协议)

C. ngx_http_uwsgi_module (处理 uWSGI 协议)

D. ngx_http_scgi_module  (处理 SCGI 协议)

答案:A

10. Nginx中,以下哪个指令用于设置服务器名称?

A. server_name  (设置服务器名称)

B. server_domain  (设置服务器域名)

C. server_host   (设置主机名称)

D. server_addr  (设置服务器地址)

答案:A

11. 以下哪个模块是Nginx提供的用于实现负载均衡的模块? 

A. ngx_http_upstream_module  (Nginx 提供的用于实现负载均衡的模块)

B. ngx_http_rewrite_module   (用于 URL 重写)

C. ngx_http_access_module (用于控制访问权限)

D. ngx_http_auth_basic_module  (用于基本的 HTTP 认证)

答案:A

12. 以下哪个模块是Nginx提供的用于实现SSL加密的模块? 

A. ngx_http_ssl_module  (Nginx 提供的用于实现 SSL 加密的模块)

B. ngx_http_gzip_module  (启用 Gzip 压缩功能)

C. ngx_http_rewrite_module  (用于 URL 重写)

D. ngx_http_auth_basic_module  (用于基本的 HTTP 认证)

答案: A

13. Nginx中,以下哪个指令用于设置客户端请求的超时时间? 

A. client_body_timeout  (设置读取客户端请求体的超时时间)

B. client_header_timeout  (设置读取客户端请求头的超时时间)

C. send_timeout  (设置客户端请求的超时时间)

D. keepalive_timeout  (设置长连接的超时时间)

答案:C

14. Nginx中,以下哪个指令用于设置服务器监听的端口?

A. listen (监听端口)

B. server_port  (服务器端口,并非)

C. port  (端口)

D. bind  (套接字)

答案:A

15. Nginx作为反向代理服务器时,通常用于以下哪个目的? 

A. 提高安全性

B. 负载均衡

C. 缓存静态资源

D. 所有上述

答案:D

16. Nginx中,以下哪个模块用于实现反向代理功能? 

A. ngx_http_proxy_module (用于实现反向代理功能)

B. ngx_http_rewrite_module (用于URL重写)

C. ngx_http_core_module  (提供一些基本的配置和处理功能)

D. ngx_http_upstream_module   (用于负载均衡相关的配置)

答案:A

17. 当使用Nginx作为反向代理时,客户端请求不会直接到达后端服务器,而是先经

Nginx。这种模式通常被称为?

A. 正向代理  (客户端通过代理服务器访问外部网络)

B. 反向代理  (Nginx 负责将请求转发到后端服务器,并将后端服务器的响应返回给客户端)

C. 透明代理  (“透明”的,客户端不需要进行特殊配置)

D. 隧道代理  (用于建立特定类型的网络连接隧道)

答案:B

18. Nginx中,以下哪个指令用于指定后端服务器的列表?

A. proxy_pass   (将请求转发到指定的单个后端服务器)

B. upstream     (定义一个服务器组)

C. server        (配置虚拟服务器的相关参数)

D. Location      (根据请求的 URI 进行匹配,从而执行特定的配置指令)

答案:B

19. Nginx中,以下哪个指令用于设置代理缓存的路径? 

A. proxy_cache_path  (设置代理缓存的路径)

B. proxy_cache       (启用或禁用代理缓存功能)

C. proxy_temp_path   (用于设置临时文件的存储路径)

D. proxy_store_path   (用于设置代理缓存路径的正确指令)

答案:A

20. Ansible中,用于指定要管理的主机的文件是什么?

A. ansible.cfg   (Ansible 的配置文件)

B. inventory    (用于指定要管理的主机)

C. playbook    (Ansible 用于定义任务和流程的文件)

D. roles        (组织和复用 Ansible 任务的模块)

答案:B

21. 以下哪个是Ansible的默认通信协议?

A. HTTP       (超文本传输协议)

B. HTTPS      (加密的超文本传输协议)

C. SSH         (Ansible 的默认通信协议)

D. FTP          (文件传输协议)

答案:C

22. Ansible中,以下哪个命令用于执行Ad-Hoc命令?

A. ansible-playbook   (用于执行预编写的 playbook)

B. ansible-console    (提供了一个交互式的控制台来执行 Ansible 任务)

C. ansible           (用于执行 Ad-Hoc 命令)

D. ansible-galaxy     (用于管理 Ansible 角色)

答案:C

23. 以下哪个是Ansible中的事实收集模块? 

A. setup    (Ansible 中的事实收集模块)

B. facts     (通过事实收集模块)

C. gather_facts   (一个参数或选项,用于控制是否收集目标主机的事实信息)

D. all_facts    (并非 Ansible 中的标准模块)

答案:A

24. LVM架构中,哪一层负责物理存储的实际分配? 

A. Physical Volume (PV)   (物理存储的实际分配)

B. Volume Group (VG)         (由一个或多个 Physical Volume 组成的存储池)

C. Logical Volume (LV)        (是从 Volume Group 中划分出来的逻辑卷)

D. Logical Unit Number (LUN)  (用于存储区域网络 (SAN) 环境中)

答案:A

25. 以下哪个命令用于创建Volume Group

A. pvcreate   用于创建 Physical Volume(物理卷)

B. vgcreate   用于创建 Volume Group(卷组)

C. lvcreate    用于创建 Logical Volume(逻辑卷)

D. lvextend   用于扩展 Logical Volume 的大小

答案:B

26. 哪个LVM命令用于扩展逻辑卷的大小?

A. pvresize    (用于调整物理卷的大小)

B. vgextend   (用于扩展卷组的大小)

C. lvextend    (用于扩展逻辑卷的大小)

D. lvreduce    (用于减小逻辑卷的大小)

答案:C

27. 当你想要从Volume Group中移除一个Physical Volume时,应该使用哪个命令? 

A. pvremove    (从 Volume Group 中移除一个 Physical Volume)

B. vgremove    (用于删除一个 Volume Group)

C. lvremove    (用于删除一个 Logical Volume)

D. pvmove     (用于在 Physical Volume 之间移动数据)

答案:A

28. 哪个命令用来显示LVM的详细信息,包括LVVGPV的状态?

A. lvs   (显示逻辑卷的简要信息)

B. pvs   (主要显示物理卷的简要信息)

C. vgs   (主要显示卷组的简要信息)

D. lvdisplay / pvdisplay / vgdisplay   (提供更详细和全面的状态信息)

答案:D

29. 下列哪个运行级别表示多用户图形界面: 

A. Runlevel 1   (单用户模式)

B. Runlevel 2   (多用户模式(无网络))

C. Runlevel 5   (多用户图形界面)

D. Runlevel 6   (重启系统)

答案:C

30. Linux中,如何查看某个特定服务的启动日志?

A. journalctl -u 服务名.service  (查看某个特定服务的启动日志)

B. tail /var/log/messages        (查看系统的通用消息日志的末尾部分)

C. cat /var/log/syslog | grep 服务名  (搜索与服务名相关的信息,但不是专门针对服务启动日志)

D. less /var/log/boot.log         (查看系统启动相关的日志)

答案:A

二、简答题

1. 简述一次 Web 资源请求的具体过程?

(1)用户输入域名->浏览器跳转->app缓存->DNS解析(递归查询|迭代查询)

(2)由浏览器向服务器发起tcp连接(三次握手)

(3)客户端发起HTTP请求:

请求的方法(获取)

请求的主机:域名

请求的资源类型(html)

请求的端口(80、443)

请求携带的参数(类型、压缩、认证等)

(4)服务器的响应:

服务器的web软件

响应的文件类型

是否压缩

是否长连接

(5)客户端向服务器发起tcp断开(四次握手)

2. 实现session一致,有哪些方法?

 (1).粘性会话(Sticky Session)

(2).Session 复制

(3).Session 集中存储

(4).令牌机制

3. 用nginx部署web服务器,需要如何优化nginx?

创建代理配置文件,添加优化项(或直接使用第(4)步的配置)

vim /etc/nginx/conf.d/lb1.conf

添加:

server {

        listen 80;

        server_name blog.benet.com;

        location / {

                proxy_pass http://192.168.8.6;

                proxy_set_header Host $http_host; #重新定义或者添加发往后端服务器的请求头

                proxy_set_header X-Real-IP $remote_addr; #启用客户端真实地址(否则日志中显示的是代理在访问网站)

                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

#记录代理地址

proxy_connect_timeout 30; (单位:秒,默认60秒) #代理和后端服务器连接超时时间

proxy_send_timeout 60; #后端服务器传回代理的超时时间

proxy_read_timeout 60; #代理等待后端服务器的响应时间

proxy_buffering on; #启用缓存,后端返回内容先缓存,再给客户端,收到多少转多少

proxy_buffer_size 32k; #代理缓存用户头信息的缓存区大小

proxy_buffers 4 128k; #缓存区的设置

proxy_busy_buffers_size 256k;

#从proxy_buffers划出一部分缓冲区来专门向客户端传送数据的地方

proxy_max_temp_file_size 256k;

#超大的响应头存储成文件。

        }

}

}

保存退出

systemctl restart nginx

扩展:创建优化项文件,网站配置文件直接调用(选做,但推荐)

vim /etc/nginx/nginx_params

网站配置调用

vim /etc/nginx/conf.d/lb1.conf

nginx作为负载均衡,有哪些调度方法?

轮询(Round Robin)

加权轮询(Weighted Round Robin)’

IP 哈希(IP Hash)

最少连接(Least Connections)

加权最少连接(Weighted Least Connections)

设计一个支持高并发、高可用的动态网站架构?

实验目标:七台服务器搭建lnmp,实现高并发,高可用的动态网站架构

Lb1

1).搭建Keepalived,以vrrp为底层,实现多台主机高可用群集lb1为主

2).搭建nginx负载均衡,接收到客户的URL访问请求后分散转发到后台web群集节点

3).将nginx配置文件拷贝到lb2

Lb2

.同样搭建Keepalived,lb2为备份,若lb1  done掉后,lb2会立即收到消息并接管lb1的工作.搭建nginx负载均衡,接收到客户的URL访问请求后分散转发到后台web群集节点

Web1

.搭建nginx  web网站,先安装nginx复制wordpress网页到根目录之下,并解压赋权修改web配置文件添加动态php和静态,将网页根目录拷贝到php服务器上,以便php服务器读取网页内容将默认配置文件及wordpress网页根目录同时拷贝到web2上实现均可访问将网页根目录拷贝到nfs上,查看并挂载

Web2:同样搭建nginx  web网站

.先安装nginx接收到web1所拷贝的内容后,重启nginx服务

Php:动态解析器  

先安装php服务因php服务默认只能监听本机的Ip,所以需要修改配置文件,并重启服务

Mysql:数据库

.先安装数据库并创建库和用户名及密码,重启服务

Nfs:文件共享

.默认以安装nfs创建共享目录,并设置永久权限,重启服务



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。