Linux企業級應用php
選擇題。java
在RHEL5系統中,squid代理服務主要針對什麼協議提供緩存加速服務?ios
答:Squid主要是支持像HTTP和FTP那樣的協議,可是對其它的協議好比HTTPS,SSL,TLS等一樣也能支持。nginx
2. squid代理軟件,能夠實現基於那種方式的限制?、web
答:ACL的訪問控制算法
3. Squid兩種常見代理服務的區別?數據庫
答:(1)傳統代理:也是普通的代理服務,先在客戶機上設置代理服務器的地址和端口,適用於Internet,明確指定服務端。vim
(2):透明代理:提供與傳統代理相同的功能和服務,其區別在於客戶機不須要指定代理服務器地址和端口,而是經過默認路由,防火牆策略將web訪問重定向。後端
4. 常見的訪問控制列表八種類型是什麼?含義及用途?api
答:(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