Linux企业级应用
- 选择题。
- 在RHEL5系统中,squid代理服务主要针对什么协议提供缓存加速服务?
答:Squid主要是支持像HTTP和FTP那样的协议,但是对其它的协议比如HTTPS,SSL,TLS等同样也能支持。
- 2. squid代理软件,可以实现基于那种方式的限制?、
答:ACL的访问控制
- 3. Squid两种常见代理服务的区别?
答:(1)传统代理:也是普通的代理服务,先在客户机上设置代理服务器的地址和端口,适用于Internet,明确指定服务端。
(2):透明代理:提供与传统代理相同的功能和服务,其区别在于客户机不需要指定代理服务器地址和端口,而是通过默认路由,防火墙策略将web访问重定向。
- 4. 常见的访问控制列表八种类型是什么?含义及用途?
答:(1)src:源iP地址、网段、ip地址范围
(2)dst: 目标ip地址、网段、主机名
(3)port:目标端口
(4)dstdomain:目标域,匹配域内所有站点.
(5)time:使用代理服务的时间段,M、T、W、H、F表示一星期中各天英文缩写。
(6)maxconn 20:每个客户机的并发连接数不超过20。
(7)url_regex:目标资源的URL地址,-i表示忽略大小写。
(8)urlpath_regex:目标资源的整个URL地址,-i表示忽略大小写。
- 5. Nginx的主配置文件中默认分了那三个部分?分别是什么?以什么英语单词开头?各用来定义什么?
答:1)分别是“全局配置、I/O事件配置、HTTP配置。
2)全局以user nobody开头、I/O事件以events开头、HTTP配置以http开头。
- 全局配置:又各种配置语句组成,不使用特点的界定标记,全局配置部分包括“nginx服务的运行用户、工作进程数、错误日志、PID存放位置等基本设置”。
I/O事件配置:使用“enents{}”界定标记,用来指定Nginx进程的I/O响应模型,每个进程的连接数等设置。
http配置:使用”http{}“界定标记,包括访问日志、http端口、网页目录、默认字符集、链接保持,以及后面讲到的虚拟web主机、PHP解析等一系列设置,其中大部分配置语句都包含在子界定标记”server{}“内。
- 6. 要想让nginx能够解析PHP网页有哪两种方法?
答:1) 转交其他web服务器
2)使用PHP的fpm模块来调用本机的PHP环境php-fpm
- 7. 动态网站的类型?、
答:ASP JSP PHP .NET LLS
- 8. Tomcat、Apache和nginx的区别?
答:tomcat支持静态没有Apaache和nginx强大,通常tomcat是作为一个Servlet和JSP容器,单独运行在后端。
- 9. Java和PHP以什么作为注释?
答:Java://注释内容
<!-- -->内的内容是注释信息
Php: 1、单选注释:符号是://
2、块注释:符号是: /* */ 可以跨多行
3、javadoc注释:符号是: /** */ 可以跨多行,生成javadoc时,这样的注释会被生成标准的javaapi注释。
- 10. Tomcatserver的组成部分有哪些?并说明之间的关系?
答1)server:代表了整个catalina的servlet容器。
- :它由一个或多个connector组成,以及一个engine,负责所有的connector所获得的客户请求。
3)connector:一个connector在某个指定的端口上侦听客户请求,并将获得的请求交给engine来处理,从engine出获得回应返回客户。
Tomcat有两个典型connector,一个侦听来自browser的http请求,一个侦听来自其他webserver请求。
4)Engine:下可以配置多个虚拟主机virtualhost,每个虚拟主机都有一个域名。 当engine获得一个请求时,它把该请求匹配到某个host上,然后把该请求交给host来处理。 Engine有一个默认虚拟主机,当请求无法匹配到任何一个host时,将交给默认host来处理。
5)host:代表一个virtual host,虚拟主机,每个虚拟主机和某个网络域名domain name相匹配。 每个虚拟主机下都可以部署(deploy)一个或多个web app,每个web app对应于一个context,有一个context path。
6)context:一个context对应于一个web application,一个web application由一个或者多个servlet组成。
- 11. KVM自Linux哪个版本后就直接整合到Linux内核,KVM虚拟化属于什么架构?运行KVM网络有哪两种方法?两种方法的区别是什么?
答:1)KVM自Linux2.6.20版本后就直接整合到Linux内核。
2)
3)用户模式:即NAT方式,这种方式是默认网络。可以访问外网,但是无法从外部访问虚拟机网络。
桥接模式:这种模式允许虚拟机像一台独立主机一样拥有网络,外部机器可以直接访问到虚拟机内部,但需要网卡支持,一般游戏网卡都支持。
- 12. 群集的类型有哪些?负责均衡的分层结构?工作模式(简称)?
答:1)有负载均衡群集、高可用群集、高性能运算群集。
2)第一层,负载调度器、第二层,服务器池、第三层,共享存储。
- 地址转换,简称NAT模式、IP隧道,简称TUN模式、直接路由,简称DR模式。
- Keepalived的功能?采用什么热备份协议?
答:主要功能是故障切换和健康检查功能。
采用VRRP,虚拟路由冗余协议
- 14. 配置nfs共享服务时,若要允许root用户挂在并写入,应添加哪个控制选项?
答:NFS的配置文件为/etc/export,文件内默认为空(无任何共享)。在export文件中设置共享资源是,记录格式为“目录位置、客户机地址(权限选项)”如:将文件夹/opt/wwwroot共享给172.16.16.0/24网段使用,允许读写操作,配置如下所示:
Mkdir -p /opt/wwwroot vim /etc/exports
/opt/wwwroot 172.16.16.0/24(rw,sync,no_root_squash)
Rw表示允许读写、sync表示同步写入,no_root_squash表示当客户机以root身份访问时赋予本地root权限。
- 15. 负载均衡常用调度算法有哪几种?(要求:说出简称)
答:RR轮询调度、WRR加权轮询、LC最小链接算法、WLC加权最少链接。
- 16. 如何使用keepalived保证haproxy本身的高可用性?
答: keepalived和haproxy结合起来,一主一从,如果一台出现故障另一台继续工作,保证高可用性。
- 17. Haproxy与lvs和nginx对比区别是什么?
答:Haproxy是目前比较流行的一种集群调度工具。LVS性能最好,但是搭建相对复杂,nginx的upstream模块支持集群功能,但对集群节点健康检查功能不强,性能没有Haproxy好。
- 18. MySQL主从复制与读写分离的原理是什么?(要求解释)MySQL支持的复制类型有哪些?读写分离分为哪几种?
答:主从复制原理:(1)在每个事物更新数据完成之前,Master在二进制日志记录这些改变。写入二进制完成后,Master通知存储引擎提交事物。(2)slave将Master的binary log复制到其中继日志。(3)SQL slave thread(SQL从线程)处理该过程的最后一步。
读写分离原理:主数据库处理事务性查询,而从数据库处理select查询。数据库复制被用来把事物性查询导致的变更同步到集群中的从数据库。
复制类型:基于语句的复制、基于行的复制、混合类型的复制。
MySQL较为常见的读写分离分为两种:(1)基于程序代码内部实现。(2)基于中间代理层实现
- 19. 常见的服务器监控软件有哪些?(最少三个)
答:cacti Nagios zabbix
- 20. Cacti的工作结构?基于什么开发的网络流量监测图形分析工具?
答:有C/S和B/S. 基于PHP语音开发的性能与流量监测工具。
- 21. Nagios工作原理?
答:nagios的功能是监控服务和主机,但是其自身并不包括这部分功能,所有的监控,监测功能都是通过各种插件来完成的。启动nagios后,它会周期性的自动调用插件去监测服务器状态,同事nagios会维持一个队列,所有插件返回来的状态信息都进入队列,nagios每次都从队首开始读取信息,进行处理后,吧状态结果通过web显示出来。
- 22. 部署Cacti环境的前提条件?将Linux,Windows服务器作为cacti的被监控端时,分别需要哪些配置?
答:提前安装好可用的LNMP平台以及Net-SNMP、RRDtool
只要真确支持SNMP协议,并允许cacti服务器采集数据,就可用进行集中监测。下面以Linux为列:
需要安装系统光盘中的net-SNMP、lm_sensors软件包,然后修改配置文件/etc/snmpd/snmpd.conf,并启动snmpd服务。默认端口号是UDP协议161端口响应SNMP查询。
- 23. 成功配置一台nagios监控系统,必要的主要配置文件是哪些?
答:cgi.cfg控制CGI访问的配置文件、
nagios.cfg Nagios的主配置文件、
resource.cfg变量定义文件,又称资源文件、
objects是一个目录,目录里有很多配置文件模板,用于定义nagios对象、
objects/commands.cfg定义命令配置文件,其中定义的命令可也被其他配置文件引用
objects/contacts.cfg定义联系人和联系人组的配置文件
objects/localhost.cfg定义监控本地主机的配置文件
objects/printer.cfg定义监控打印机的一个配置文件模板,默认没有启用此文件。
Objects/switch.cfg定义监控路由的一个配置文件模板,默认没有启用
objects/templates.cfg定义主机和服务的一个模板配置文件,可以在其他配置文件中
objects/timeoeriods.cfg定义nagios监控时间段的配置文件
objects/windiws.cfg 定义监控Windows主机的一个配置文件模板,默认没有启用
- 24. 分布式原理?MFS原理?MFS文件系统的组成?
答:1)分布式原理是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。
2)mfs原理:mfs是一个具有容错性的网络分布式文件系统,它把数据分散存储在多个物理服务器上,而呈现给给用户的则是一个统一的资源。
3)MFS文件系统组成:元数据服务器(master)、元数据日志服务器(metalogger)、数据存储服务器(chunk serverf)、客户端(client)
- 25. MFS读取数据和写入数据的处理过程?MFS集群启动和停止的顺序?
答:读取过程:1)客户端向元数据服务器发出读请求
2)元数据服务器吧所需数据存放的位置(chunk server的IP地址和chunk编号)告知客户端
3)客户端向已知的chunk server请求发送数据
4)chunk server向客户端发送数据
写数据过程:1)客户端向元数据服务器发送写入请求
2)元数据服务器与chunkserver进行交互(只要当所需的分块chuns存在的时候才进行这个交互),答元数据服务器只在某些服务器创建新的分块,创建成功后有chunk server告知元数据服务器操作成功
3)元数据服务器告知客户端,可以在哪个chunk server的那些chunks写入数据。
4)客户端向指定chunk server写入数据
5)该chunk server与其他chunk server进行数据同步,同步成功后chunk server 告知客户端数据写入成功
6)客户端告知元数据服务器本次写入完毕。
MFS启动顺序:1)启动mfsmaster进程2)启动所有的mfschunkserver进程 3)启动mfsmetalogger进程 4)在所有的客户端挂载mfs文件系统
MFS停止顺序:1)在所有的客户端卸载mfs文件系统 2)用mfschunkserver -s命令停止chunkserver进程 3)用mfsmetalogger -s 命令停止metalogger进程 4)用mfsmaster-s命令停止master
- 26. Puppet工作原理?基于什么语言开发的?工作流程?
答:工作原理:puppet的目的是让管理员集中于管理目标,而忽略实现的细节。 基于RUBY 开发的
工作流程:1)客户端通过facter搜集变量,通过ssl发送给服务器 2)服务器解析主机,配置生成伪代码,返给客户端 3)客户端执行伪代码,反馈个服务器结果 4)服务器将执行结果写入日志
- 27. Squid代理的端口号?
答:tcp:3128
Nginx和php-fpm的端口号各是什么?
答:Nginx:tcp:80
PHP-fpm:tcp:9000
Tomcat的端口号?
答:tcp:8080
nfs的端口号?
答:tcp:111
Amoeba的端口号?
答:tcp:8066
MySQL的端口号?
答:tcp:3306
Snmp基于什么协议?端口号?
答:简单网络管理协议udp:161
Nrpe的端口号?
答: tcp5666
Metalogger端口号?
答:tcp:9419
Chunkserver端口号?
答:tcp:9420
Mfscgiserv监控端口号?
答:tcp:9425
Ntp端口号?
答:udp:123
ruby端口号?
答:服务端:tcp8140
客户端:tcp8139