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

2024-07-07 08:49:38 浏览数 (1)

一.选择题

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

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

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

C. 80 (http备用端口)

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

答案:A

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

  1. GET: (下载)
  2. POST:(用户向服务器提高数据)
  3. PUT: (上传)
  4. 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的详细信息,包括LV、VG和PV的状态?

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

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

轮询(Round Robin)

加权轮询(Weighted Round Robin)’

IP 哈希(IP Hash)

最少连接(Least Connections)

加权最少连接(Weighted Least Connections)

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

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

Lb1

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

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

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

Lb2

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

Web1

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

Web2:同样搭建nginx web网站

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

Php:动态解析器

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

Mysql:数据库

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

Nfs:文件共享

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

0 人点赞