Linux 运维面试题

1、为什么我们要使用tomcat,类似的软件有哪些?

因为Apache仅支持静态网站,不能解析Java、Jsp,它们服务端口也不同Apache端口80  tomcat端口8080类似的软件有Weblogic (收费)Jboss(免费)Resin、Jetty

2、tomcat优化

内存优化:JAVA_OPTS='-Xms=256m -Xmx=1024m -Xmn=512m'并发优化:maxProcessors=2000,最大处理线程数maxSpareThreads=2000,tomcat连接器的最大空闲socket线程数缓存优化:compressionMinSize=2048,启动压缩的输出内容大小,默认2048

3、影响mysql主从不同步的因素可能有哪些?

    网络延迟主从两台机器的负载不一样(单位时间内活跃的进程)mysql异常宕机情况下,如果未设置sync_binlog=1或者innodb_flush_log_at_trx_commit=1很有可能出现binlog或者relaylog文件出现损坏,导致主从不一致mysql本身的bug引起的主从不同步mysql版本不一致mysql的最大连接数用完了

4、MySQL主从同步的原理是什么?MySQL是通过什么来保证主从数据的同步?

同步原理:从服务器的IO线程从主服务器获取bin-log二进制日志,并在本地保存为relay-log中继日志,然后通过SQL线程来在从服务器上执行中继日志中的内容,从而使从库和主库保持一致。在slave上修改配置,通过binlog日志保证主从数据同步。在master上修改配置参数:Innodb_flush_log_at_trx_commit = 1;Sync_binlog = 1在slave上修改配置参数:Master_info_replication = “table”;Relay_log_info_replication = “table”;Relay_log_recovery = 1

5、MySQL的主从复制过程是同步的还是异步的?

主从复制的过程是异步的复制过程,主库完成写操作并计入binlog日志中,从库再通过请求主库的binlog日志写入relay中继日志中,最后再执行中继日志的sql语句。

6、存储引擎InnoDB和MyISAM有什么区别?

主要差别:两种类型最主要的差别就是InnoDB支持事务处理与外键和行级锁,而MyISAM不支持。所以MyISAM往往就容易被人认为只适合在小项目中使用。MyISAM的索引和数据是分开的,并且索引是有压缩的,内存使用率高,能加载更多索引,而InnoDB是索引和数据是紧密捆绑的,没有压缩,体积比MyISAM大。

7、NGINX代理负载均衡的调度算法有哪些?具体实现时的现象是什么?

1.轮询(默认):每个请求按时间顺序逐一分配到不同的后端,如果后台某台服务器宕机,自动剔除故障系统,使用户访问不受影响,这种方式简便,成本低,但是可靠性低,负载均衡不均衡,适用于图片服务器集群和纯静态页面服务器集群。2.weight(权重):weight的值越大分配到访问概率越高,主要用于后端每台服务器性能不均衡的情况下,或者仅仅为在主从的情况下设置不同的权值,达到合理有效的利用主机资源。3.IP_HASH(访问IP):每个请求按访问的哈希结果分配,使来自同一个IP的访问固定一台后端服务器,并且可以有效解决动态网页存在的session的共享问题。4.FAIR(第三方):比weight、ip_hash更加智能的负载均衡算法,fair算法可以根据页面大小和加载时间长短智能的进行均衡负载,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。nginx本身不支持fair,如果需要这种调度算法,则需要安装upstream_fair模块。5.URL_HASH(第三方):按访问的URL的哈希结果来分配请求,使每个URL定向到一台后端服务器,可以进一步提高后端缓存服务器的效率。这种调度算法需要安装nginx的hash软件包

8、为什么是四层的负载均衡,而不是其他层

在四层模式下,仅仅只是流量转发或者是TCP的porxy。七层是full proxy,需要分析协议。显然四层的转发效率更快,但功能少了许多。MySQL的负载均衡仅仅只是发生在网络层,所以选四层代理。

9、keepalived的工作原理是什么,使用的是什么协议?

keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据vrrp的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。

10、nginx的七层代理有什么好处?

   请求如果直接发到同步处理的后端,那么从收到请求到把响应发出去的这段时间中,一个进程的资源就被占用了。在慢链接的情况下,这个进程除了处理之外,大多数时间基本耗费在等待上,而nginx有异步非阻塞模型,它可以通过基于事件的方式同时处理和维护多个请求,而后端只需要做逻辑计算,节约了等待时间去处理更多的请求。动态页面的IO性能不好,nginx可以将请求缓存下来,再将完整的请求转发给后端服务器做处理,减少后端服务器的等待时间。

11、nginx upstream的容错机制是怎么样的(有台机器挂掉了,nginx怎么处理的)

   nginx收到客户端的请求,将请求根据调度算法转发给后台服务器,后台服务器防问被拒接或者返回错误信息。nginx将其暂停一段时间,在这段时间内不再将请求转发给该服务器,并将请求转发给后台的其他服务器响应。

12、浏览器中输入域名回车后HTTP的请求是怎么进行的?

   http将请求发送给nginx代理,nginx将请求转发给后台服务器,后台服务器接收请求,并返回信息给nginx,nginx收到后台服务器的信息后返回给http。

13、nginx如何配置多域名,防盗链

server {listen    80;server_name www.xxx.com mall.xxx.com img.xxx.com;
}location / {valid_referers nono blocked mall.xxx.com;if ($invalid_referer){return 403;}
}

14、Apache、Nginx、Lighttpd都有哪些优缺点

   Apache特点:1)几乎可以运行在所有的计算机平台上;2)支持最新的http/1.1协议;3)简单而且强有力的基于文件的配置(httpd.conf);4)支持通用网关接口(cgi);5)支持虚拟主机;6)支持http认证,7)集成perl;8)集成的代理服务器;9)可以通过web浏览器监视服务器的状态,可以自定义日志;10)支持服务器端包含命令(ssi);11)支持安全socket层(ssl);12)具有用户绘画过程的跟踪能力;13)支持fastcgi;14)支持java servletsNginx特点:nginx是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器,处理静态文件,索引文件以及自动索引,无缓存的反向代理加速,简单的负载均衡和容错,具有很高的稳定性,支持热部署。Lighttpd特点:是一个具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块,Lighttpd是众多opensource轻量级的webserver中较为优秀的一个,支持fastcgi,cgi,auth,输出压缩,url重写,alias等重要功能。

15、什么是七层的负载均衡和4层的负载均衡,我们的访问请求经过这两种负载均衡都做了些什么处理?

   七层负载均衡是基于URL等应用层的负载均衡;请求经过七层时,七层负载均衡接受虚拟url请求,根据调度算法转发请求到后台服务器四层负载均衡是基于IP+端口的负载均衡;请求经过四层时,四层负载均衡根据请求的IP和端口,根据调度算法将请求转发到后台。

16、LVS的三种工作模式是什么?分别是如何工作的

   NAT模式(VS-NAT):LVS将客户端发来的数据包的IP头的目的地址转换成其中一台RS(real server)的IP地址,由RS处理数据并返回给LVS,LVS再把数据包的源IP改为自己的IP,目的地址IP改为客户端的IP地址发送给客户端。IP隧道模式(VS-TUN):将客户端发来的数据包封装一个新的目的IP头标记,通过IP隧道转发给RS,RS收到后,先把数据包的头解开,还原数据包,处理后直接返回给客户端,不需要再经过LVS。DR模式(VS-DR):客户端发送请求到VIP,LVS将请求报文的目标MAC地址改为RS的MAC地址,将请求转发给RS,而RS响应后的处理结果直接返回给客户端。

17、LVS、NGINX、HAPROXY的优缺点

LVS优点:具有很好的可伸缩性、可靠性、可管理性。抗负载能力强、对内存和CPU资源消耗比较低。工作在四层上,仅作分发,所以它几乎可以对所有的应用做负载均衡,且没有流量的产生,不会受到大流量的影响。缺点:软件不支持正则表达式处理,不能做动静分离,如果web应用比较庞大,LVS/DR+KEEPALIVED实施和管理比较复杂。相对而言,nginx和haproxy就简单得多。nginx优点:工作在七层之上,可以针对http应用做一些分流的策略。比如针对域名、目录结构。它的正则规则比haproxy更为强大和灵活。对网络稳定性依赖非常小。理论上能PING就能进行负载均衡。配置和测试简单,可以承担高负载压力且稳定。nginx可以通过端口检测到服务器内部的故障。比如根据服务器处理网页返回的状态码、超时等。并且可以将返回错误的请求重新发送给另一个节点,同时nginx不仅仅是负载均衡器/反向代理软件。同时也是功能强大的web服务器,可以作为中层反向代理、静态网页和图片服务器使用。缺点:不支持URL检测,仅支持HTTP和EMAIL,对session的保持,cookie的引导能力相对欠缺。Haproxy优点:支持虚拟主机、session的保持、cookie的引导;同时支持通过获取指定的url来检测后端服务器的状态。支持TCP协议的负载均衡;单纯从效率上讲比nginx更出色,且负载策略非常多。缺点:扩展性能差;添加新功能很费劲,对不断扩展的新业务很难对付。

18、DNS/智能DNS/CDN原理是什么?

DNS正向解析将客户端请求的域名转换成IP地址、反向解析将IP转换成域名。智能DNS在DNS的基础上通过匹配客户端的IP将请求分流到最近的服务器上,达到负载均衡。CDN在DNS和智能DNS的基础上,将客户端的请求转给后台真实服务器,返回给客户端的同时,缓存到本地服务器上,下次客户端再次访问该页面时直接将缓存返回给客户端。

19、将本机80端口请求转发到另外一台主机的8080端口

iptables -t nat -A PREROUTING -d 192.168.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:8080 iptables -t nat -A POSTROUTING -d 192.168.1.2 -p tcp --dport 80 -j SNAT --to-source 192.168.1.1

20、如何将本地80端口的请求转发到8080端口

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

版权声明:本文为CSDN博主「你的影子闪」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37237672/article/details/81904770

Linux 运维面试题20道相关推荐

  1. 6道常见Linux运维面试题讲解!

    学习完Linux技术之后,接下来我们就需要面临找工作的事情.谈到找工作,很多小伙伴肯定好奇,面试官会问些什么问题?本为为大家汇总了一些常见Linux运维面试题,希望能够给大家带来帮助,祝你们面试通过! ...

  2. 常见Linux运维面试题分享

    学习Linux进入工作岗位的过程必定是要经过面试.与其他技术岗位相同.Linux运维也要经理人力面试和技术面试.对于初级运维工程师面试题目相对也很简单,但是同样有很多朋友在简单的问题上犯错.下面为大家 ...

  3. linux运维面试题:第一部分

    linux运维面试题: (第一部分)三 在生活中跳槽或者换萌新找工作时,总会显得没有水平,从而不能在人群中脱颖而出那么,如何在跳槽中,从容的应对考官的面试呢,(小宇)在这里总结了一点面试题供大家分享: ...

  4. 2020年Linux运维面试题都不会,怎么拿Offer?

    阅读目录 1.什么是运维?什么是游戏运维? 2.在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的? 3.现在给你三百台服务器,你怎么对他们进行管理? 4.简述raid0 raid ...

  5. linux运维面试题:第三部分

    linux运维面试题: (第三部分)三 本章是关于docker的面试题于实战(实战=当你正在面试时,回答问题的方式) 注:(很多题都是通过网上搜索总结出来的,可能在一部分内发现自己写的东西:如有不满请 ...

  6. linux运维面试题:第二部分

    linux运维面试题: (第二部分)三 iptables防火墙部分面试题 (仅供参考) 注:(面试题是通过本人在网上搜索总结出来的,如果您看到文章内有,属于自己创造的部分,请联系我,谢谢) 你听说过L ...

  7. linux上安装shell编辑器与linux运维面试题

    分两个部分 一.安装B-shell解释器 安装cygwin  Eclipse要找到安装的bin路径 https://cygwin.com 二.安装编辑器shellEd 下载可以得到一个:net.sou ...

  8. linux运维面试题大厂,大厂Linux运维面试题详解

    大厂面试题: 网络基础类面试题 01.Linux运维经典面试题_网络基础-视频介绍 02.Linux运维经典面试题_网络基础-面试题1 03.Linux运维经典面试题_网络基础-面试题2 04.Lin ...

  9. 珍藏版linux运维笔试题

    常见的linux运维笔记题及面试题,全部都列在这里了,做完后可以在后面留言,或者直接发给我,成绩优秀且做的最快的前十名,赠送技术书籍一本. l  Linux操作系统知识: 1.       Linux ...

最新文章

  1. NOIP2018 模拟 9.11
  2. ASP内置对象Request的ServerVariables集合列表
  3. mongo数据库数据迁移到muysql数据库
  4. boost::foreach模块非常量右值的测试程序
  5. Goodbye, 2010. Hello 2011...
  6. Ajax基本案例详解之$.post的实现
  7. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]43 为AES 对抗侧信道攻击的防御
  8. 解决Error: That port is already in use.
  9. MTK和高通展讯他们平台的主要区别是什么
  10. 【从C到C++学习笔记】程序/结构化程序设计/面向对象的程序设计
  11. 跟着波哥学安卓之HelloKitty
  12. 使用PageOffice---如何在模板中添加数据区域
  13. 驾校一点通电脑版2015 v1.5 最新版
  14. 快手:星星之火,寒冬燎原
  15. 分库分表之MyCat应用
  16. 华为在俄罗斯开设基于ARM技术的数据中心:技术之外,环境使然?
  17. pb开发的程序win10 报 sql server request resulted in a bad return code or status 的解决办法
  18. 洛谷 P3258 松鼠的新家 题解
  19. 华为云14天鸿蒙设备开发-Day1源码获取
  20. HYDRUS模型应用高级培训班

热门文章

  1. 打卡-2023-4-1
  2. asp ajax局部刷新,ASP.Net用jQuery ajax实现页面局部刷新
  3. 刀剑情缘服务器维护,刀剑情缘出现第三方登陆失败怎么办 解决方案一览
  4. 基于STM32的远程厨房安全系统设计
  5. Kotlin 协程--线程池的7个灵魂拷问
  6. Spring原理以及流程
  7. java synchronized 卖票_(二)java多线程之synchronized
  8. 【调剂】南京邮电大学自动化学院、人工智能学院2023年硕士研究生(非全调剂)复试录取工作实施细则...
  9. 布隆过滤器、布谷过滤器
  10. 四叉树 - 碰撞检测算法 Lua版