網(wǎng)上有很多關(guān)于面試pos機(jī)公司,Linux運(yùn)維工程師面試題整理的知識(shí),也有很多人為大家解答關(guān)于面試pos機(jī)公司的問(wèn)題,今天pos機(jī)之家(www.www690aa.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來(lái)看下吧!
本文目錄一覽:
面試pos機(jī)公司
1.nginx反向代理,負(fù)載均衡,動(dòng)靜分離,工作原理及優(yōu)化nginx配置反向代理。
vim Nginx.conf
Server模塊中配置
Listen 80
Server_name ip;
在server段里面的location加上proxy_pass http://ip:端口;
Nginx配置完成后重啟一下nginx。
配置代理多個(gè)網(wǎng)站及服務(wù)
配置多個(gè)反向代理實(shí)現(xiàn)方式,是通過(guò)不同的端口代理訪問(wèn)。這里復(fù)制一個(gè)server段,將兩個(gè)server段nginx的端口更改,使用nginx的不同端口訪問(wèn)。
Server1配置:
listen *:端口;>>>>多個(gè)反向代理使用不同端口
Server_name ip;>>>>注釋掉,使用端口訪問(wèn)
在location 里面的proxy_pass 配置Tomcat1,ip 加Tomcat端口
server2配置:
listen *:端口;>>>>多個(gè)反向代理使用不同端口
Server_name ip;>>>>注釋掉,使用端口訪問(wèn)
在location 里面的proxy_pass 配置Tomcat2,ip 加Tomcat端口
負(fù)載均衡:
使用兩臺(tái)服務(wù)器,分別安裝nginx 和通Tomcat,端口號(hào)分別為8080 和8081,
通過(guò)在nginx的upstream參數(shù)中添加應(yīng)用服務(wù)器IP后添加指定參數(shù),在location塊中配置動(dòng)態(tài)組名稱,在訪問(wèn)網(wǎng)頁(yè)的時(shí)候就會(huì)通過(guò)upstream中的配置項(xiàng)將指令分發(fā)給服務(wù)器。
動(dòng)靜分離:
將靜態(tài)資源部署在Nginx上,當(dāng)一個(gè)請(qǐng)求來(lái)的時(shí)候,如果是靜態(tài)資源的請(qǐng)求,就直接到nginx配置的靜態(tài)資源目錄下面獲取資源,如果是動(dòng)態(tài)資源的請(qǐng)求,nginx利用反向代理的原理,把請(qǐng)求轉(zhuǎn)發(fā)給后臺(tái)應(yīng)用去處理,從而實(shí)現(xiàn)動(dòng)靜分離。
工作原理:Nginx由內(nèi)核和模塊組成,其中,內(nèi)核的設(shè)計(jì)非常微小和簡(jiǎn)潔,完成的工作也非常簡(jiǎn)單,僅僅通過(guò)查找配置文件將客戶端請(qǐng)求映射到一個(gè)location block(location是Nginx配置中的一個(gè)指令,用于URL匹配),而在這個(gè)location中所配置的每個(gè)指令將會(huì)啟動(dòng)不同的模塊去完成相·應(yīng)的工作。
優(yōu)化:3.網(wǎng)絡(luò)IO事件模型優(yōu)化4.隱藏軟件名稱和版本號(hào)5.防盜鏈優(yōu)化6.禁止惡意域名解析7.禁止通過(guò)IP地址訪問(wèn)網(wǎng)站10.嚴(yán)格設(shè)置web站點(diǎn)目錄的權(quán)限 11.HTTP請(qǐng)求方法優(yōu)化
2.MySql主從復(fù)制,主從復(fù)制的原理,讀寫(xiě)分離,讀寫(xiě)分離的原理,mysql優(yōu)化主從復(fù)制:
主服務(wù)器:
修改mysql配置,(#開(kāi)啟二進(jìn)制日志,server-id)重啟mysql,創(chuàng)建用于同步的用戶賬號(hào)查看master狀態(tài),記錄二進(jìn)制文件名(mysql-bin.000003)和位置(73):從服務(wù)器:
1.修改mysql配置
同樣找到my.cnf配置文件,添加server-id
2.重啟mysql,打開(kāi)mysql會(huì)話,執(zhí)行同步SQL語(yǔ)句
3.啟動(dòng)slave同步進(jìn)程:
讀寫(xiě)分離:
首先在主mysql上面建一個(gè)授權(quán)用戶稍后給amoeba使用,1.通過(guò)安裝amoeba,修改dbserver.xml配置文件,修改26行左右,指定mysql賬戶名稱和密碼,指定mysql主從的IP。2.修改amoeba.xml配置文件,修改amoeba代理的賬號(hào)和密碼,修改120左右的調(diào)用配置,然后實(shí)現(xiàn)讀寫(xiě)分離。
mysql的讀寫(xiě)分離的基本原理是:讓master(主數(shù)據(jù)庫(kù))來(lái)響應(yīng)事務(wù)性操作,讓slave(從數(shù)據(jù)庫(kù))來(lái)響應(yīng)select非事務(wù)性操作,然后再采用主從復(fù)制來(lái)把master上的事務(wù)性操作同步到slave數(shù)據(jù)庫(kù)中。
mysql優(yōu)化:
1.選擇合適的存儲(chǔ)弓擎: InnoDB
2.保證從內(nèi)存中讀取數(shù)據(jù)。將數(shù)據(jù)保存在內(nèi)存中
3.定期優(yōu)化重建數(shù)據(jù)庫(kù)
4.降低磁盤(pán)寫(xiě)入操作
5.提高磁盤(pán)讀寫(xiě)速度
6.充分使用索引
7.分析查詢?nèi)罩竞吐樵內(nèi)罩?/p>Mysqldump備份
mysqldump -h主機(jī)名 -P端口 -u用戶名 -p密碼 --database 數(shù)據(jù)庫(kù)名 > 文件名.sql
3.Tomcat配置文件有哪些,優(yōu)化Tomcat目錄:conf bin logs webapps work lib temp
配置文件一般都在conf文件夾里,主要有server.xml,context.xml,tomcat_user.xml,web.xml四個(gè)常用配置文件,server主要是服務(wù)器設(shè)置的,例如端口設(shè)置,路徑設(shè)置。context里設(shè)置tomcat數(shù)據(jù)源,用來(lái)連接數(shù)據(jù)庫(kù)。tomcat_user主要是用戶名和密碼的設(shè)置。web是默認(rèn)首頁(yè)等等之類(lèi)的設(shè)置。
bin/catalina.bat/sh,配置內(nèi)存
tomcat優(yōu)化:
句柄連接數(shù),最大并發(fā)數(shù),線程數(shù),請(qǐng)求超時(shí)時(shí)間,禁止tomcat manager管理入口
關(guān)閉shutdown端口
4.Redis作用,應(yīng)用場(chǎng)景作用:
主要用Redis實(shí)現(xiàn)緩存數(shù)據(jù)的存儲(chǔ),可以設(shè)置過(guò)期時(shí)間.對(duì)于一些高頻讀寫(xiě)、臨時(shí)存儲(chǔ)的數(shù)據(jù)特別適合.
應(yīng)用場(chǎng)景:
緩存 分布式會(huì)話 分布式鎖 最新列表 消息系統(tǒng)
5.Zookeeper配置文件叫什么,作用是什么conf下zoo_sample.cfg修改為Zoo_cfg
作用:分布式協(xié)調(diào)通知 加強(qiáng)集群穩(wěn)定性 加強(qiáng)集群持續(xù)性 保證集群有序性 保證集群高效
注冊(cè)中心服務(wù)提供方:針對(duì)所提供的服務(wù)到注冊(cè)中心發(fā)布。服務(wù)消費(fèi)方:到服務(wù)中心訂閱所需的服務(wù)。對(duì)于任何一方,不論服務(wù)提供方或者服務(wù)消費(fèi)方都有可能同時(shí)兼具兩種角色,即需要提供服務(wù)也需要消費(fèi)服務(wù)。
6.Lvs工作原理是什么,有哪些工作模式→1.LVS調(diào)度器收到目標(biāo)地址為VIP的請(qǐng)求包后,將MAC地址改成RS(真正的服務(wù)器)的MAC地址。并通過(guò)交換機(jī)(鏈路層)發(fā)給RS。
2.RS的鏈路層收到請(qǐng)求包后,往上傳給IP層。IP層需要驗(yàn)證請(qǐng)求的目標(biāo)IP地址,所以RS需要配置一個(gè)VIP的 loopbak device(策略文件)。這樣RS的IP層收到報(bào)文后,會(huì)往上遞交給傳輸層,之所以配置成loopbak device,是因?yàn)閘oopbak device 對(duì)外不可見(jiàn),不會(huì)跟LVS的VIP沖突。
3.RS處理完成后,將應(yīng)答包直接返回給客戶端。
工作模式:
LVS-DR,LVS-NAT,LVS-FULLNAT,LVS-TUN
7.keepalived作用,怎么實(shí)現(xiàn)負(fù)載均衡檢查web服務(wù)器的狀態(tài),如果有一臺(tái)web服務(wù)器/mysql服務(wù)器宕機(jī)或故障,keepalived將故障節(jié)點(diǎn)從系統(tǒng)中剔除,當(dāng)故障恢復(fù)的時(shí)候自動(dòng)加入服務(wù)器集群中,非常智能化,只需要手動(dòng)修復(fù)壞的節(jié)點(diǎn)即可。
負(fù)載均衡步驟:
1、安裝master組件和依賴包(keepalive+lvs)
2、備份keepalived配置文件
3、編輯keepalived配置文件
4、開(kāi)啟路由轉(zhuǎn)發(fā)
5、重啟keepalived服務(wù)并設(shè)置開(kāi)機(jī)自啟
主從同樣步驟,修改keepalived.conf時(shí)state主從分別修改為master和backup。
在web1和web2服務(wù)器上安裝nginx,并修改內(nèi)核參數(shù),然后添加虛擬主機(jī)IP。
8.Rabbitmq作用,為什么使用(應(yīng)用場(chǎng)景)消息隊(duì)列,用在分布式系統(tǒng)存儲(chǔ)轉(zhuǎn)發(fā)消息
應(yīng)用場(chǎng)景:異步處理,應(yīng)用解耦,流量削峰
9.Haproxy參數(shù)優(yōu)化 作用長(zhǎng)連接超時(shí)時(shí)間
客戶端超時(shí)時(shí)間
守護(hù)進(jìn)程模式
作用:高可用,負(fù)載均衡和用于TCP和基于http的應(yīng)用程序代理
優(yōu)點(diǎn):
HAProxy支持?jǐn)?shù)以萬(wàn)計(jì)的 并發(fā)連接。
同時(shí)可以保護(hù)你的web服務(wù)器不被暴露到網(wǎng)絡(luò)上。
10.MongoDB是什么數(shù)據(jù)庫(kù),優(yōu)化參數(shù)有哪些MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由C++語(yǔ)言編寫(xiě)
MongoDB優(yōu)化:
1.cachesizeGB(緩存大?。?按配額的60%左右配置即可
2.oplogsizeMB (固定集合) 設(shè)置為可用disk空間的5%
3.啟用Log Rotation日志切換 防止MongoDB的log文件無(wú)限增大,占用太多磁盤(pán)空間,使用Log Rotation并及時(shí)清理歷史日志文件
4.stack size (連接內(nèi)存優(yōu)化) Stack設(shè)置小一點(diǎn),比如說(shuō)1024
5.MongoDB打開(kāi)文件數(shù)優(yōu)化 設(shè)置文件打開(kāi)描述數(shù)量
11.zabbix作用是什么 可以監(jiān)控什么,優(yōu)化有什么,工作原理Zabbix作用:監(jiān)控網(wǎng)路主機(jī)
監(jiān)控:CPU負(fù)荷 內(nèi)存使用,磁盤(pán)使用,日志監(jiān)視,端口監(jiān)視,網(wǎng)絡(luò)狀態(tài),
zabbix優(yōu)化:
1.輪詢器實(shí)例數(shù)量 2.不可達(dá)主機(jī) 3.HTTP 輪詢器子進(jìn)程實(shí)例個(gè)數(shù) 4.緩存大小5.歷史緩存數(shù)據(jù)大小 5.trappers進(jìn)程實(shí)例數(shù)量
工作原理:
Agent安裝在被監(jiān)控的主機(jī)上,Agent負(fù)責(zé)定期收集客戶端本地各項(xiàng)數(shù)據(jù),并發(fā)送至Zabbix Server端,Zabbix Server收到數(shù)據(jù),將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中,用戶基于Zabbix WEB可以看到數(shù)據(jù)在前端展現(xiàn)圖像。當(dāng)Zabbix監(jiān)控某個(gè)具體的項(xiàng)目,項(xiàng)目會(huì)設(shè)置一個(gè)觸發(fā)器閾值,當(dāng)被監(jiān)控的指標(biāo)超過(guò)該觸發(fā)器設(shè)定的閾值,會(huì)進(jìn)行一些必要的動(dòng)作,動(dòng)作包括:發(fā)送信息(郵件、微信、短信)、發(fā)送命令(SHELL 命令、Reboot、Restart、Install等)。
12.VMware13.Apache配置文件叫什么,優(yōu)化有哪些1. 移除不用的模塊。2將緩存放在獨(dú)立的磁盤(pán)3.使用持久連接4.不要設(shè)置KeepAliveTimeout太高 5.提高寫(xiě)入緩沖器( Write Buffer)大小6.提高最大打開(kāi)文件7.頻繁訪問(wèn)的數(shù)據(jù)設(shè)置緩存。14.NFS作用網(wǎng)絡(luò)文件系統(tǒng)是應(yīng)用層的一種應(yīng)用服務(wù),它主要應(yīng)用于Linux和linux系統(tǒng)、Linux和Unix系統(tǒng)之間的文件或目錄的共享。對(duì)于用戶而言可以通過(guò) nfs方便的訪問(wèn)遠(yuǎn)地的文件系統(tǒng),使之成為本地文件系統(tǒng)的一部分。采用NFS之后省去了登錄的過(guò)程,方便了用戶訪問(wèn)系統(tǒng)資源。
mount -t nfs -o ro ip:/共享目錄 /本地目錄
掛載失?。?/p>
1.防火墻受阻 2.nfs配置有問(wèn)題,3.客戶端和服務(wù)端是否是同一個(gè)網(wǎng)段
15.Ansible配置,優(yōu)化有什么,怎么實(shí)現(xiàn)的自動(dòng)化配置:
/etc/hosts文件中添加被管理服務(wù)器ip
Ansible性能調(diào)優(yōu)
1、 Ansible SSH 關(guān)閉秘鑰檢測(cè)
2、 OpenSSH連接優(yōu)化
3、SSH pipelining(管道輸送)加速Ansible (默認(rèn)關(guān)閉)
4、 Ansible Facts緩存優(yōu)化
自動(dòng)化:在管理服務(wù)器上創(chuàng)建文件,通過(guò)命令行將指令傳輸?shù)礁鱾€(gè)被管理服務(wù)器上
16.Rsync的作用及優(yōu)點(diǎn)?Rsync可以再不同的主機(jī) 之間鏡像同步整個(gè)目錄樹(shù),支持增量備份,保持鏈接屬性和權(quán)限,采用優(yōu)化的同步算法,傳輸前執(zhí)行壓縮,適合異地備份,鏡像服務(wù)等應(yīng)用,是一種常用的文件備份工具及數(shù)據(jù)同步工具。
17.Linux系統(tǒng)優(yōu)化有什么⑴登錄系統(tǒng):不使用root登錄,通過(guò)sudo授權(quán)管理,使用普通用戶登錄。
⑶時(shí)間同步:定時(shí)自動(dòng)更新服務(wù)器時(shí)間。⑷配置yum更新源,從國(guó)內(nèi)更新下載安裝rpm包。⑸關(guān)閉selinux及iptables(iptables工作場(chǎng)景如有wan ip,一般要打開(kāi),高并發(fā)除外)
⑻精簡(jiǎn)開(kāi)機(jī)啟動(dòng)服務(wù)(crond、sshd、network、rsyslog)⑼Linux內(nèi)核參數(shù)優(yōu)化/etc/sysctl.conf,執(zhí)行sysct -p生效。
⑾鎖定關(guān)鍵系統(tǒng)文件(chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 處理以上內(nèi)容后,把chatter改名,就更安全了。)
18.常見(jiàn)的centos和redhat故障怎么處理?1.忘記linux root密碼這個(gè)問(wèn)題出現(xiàn)的幾率是很高的,不過(guò),在linux下解決這個(gè)問(wèn)題也很簡(jiǎn)單,只需重啟linux系統(tǒng),然后引導(dǎo)進(jìn)入linux的單用戶模式(init 1),由于單用戶模式是不需要輸入登錄密碼的,因此,可以直接登錄系統(tǒng),修改root密碼即可解決問(wèn)題。
2.grub.conf丟失和解決辦法
//刪除/bootr/grub/gub.conf文件
//刪除后重新啟動(dòng)查看出現(xiàn)的問(wèn)題
可以看出系統(tǒng)是無(wú)法從硬盤(pán)啟動(dòng)了
(2)解決辦法
一種是在無(wú)Live-CD光盤(pán)時(shí)解決,具體操作如下:
系統(tǒng)重啟后,進(jìn)入grub模式
首先查看/boot分區(qū)所在的位置,系統(tǒng)內(nèi)核,第三行是臨時(shí)系統(tǒng)鏡像文件所在的位置,然后boot重啟。
啟動(dòng)起來(lái)后進(jìn)入/boot/grub目錄下編輯grub.conf文件:
編輯grub.conf的內(nèi)容如下:
配置啟動(dòng)菜單項(xiàng),等待時(shí)間,菜單名稱,root啟動(dòng)文件的位置,啟動(dòng)時(shí)的系統(tǒng)內(nèi)核位置及名稱,內(nèi)核鏡像的位置及名稱
編輯完后這錯(cuò)誤也就徹底的解決了。
19.redis主從復(fù)制模式下,主掛了怎么辦?redis提供了哨兵模式(高可用)何謂哨兵模式?就是通過(guò)哨兵節(jié)點(diǎn)進(jìn)行自主監(jiān)控主從節(jié)點(diǎn)以及其他哨兵節(jié)點(diǎn),發(fā)現(xiàn)主節(jié)點(diǎn)故障時(shí)自主進(jìn)行故障轉(zhuǎn)移。
20.使用redis有哪些好處1.速度快 2.支持豐富數(shù)據(jù)類(lèi)型 (list set Hash string)3.支持事務(wù)(原子性) 4.豐富的特性
21.MySQL里有2000w數(shù)據(jù),Redis中只存20w的數(shù)據(jù),如何保證Redis中的數(shù)據(jù)都是熱點(diǎn)數(shù)據(jù)(redis有哪些數(shù)據(jù)淘汰策略???)redis 內(nèi)存數(shù)據(jù)集大小上升到一定大小的時(shí)候,就會(huì)施行數(shù)據(jù)淘汰策略(回收策略)。淘汰策略:
最近最少使用的數(shù)據(jù)淘汰 將要過(guò)期的數(shù)據(jù)淘汰 已過(guò)期的數(shù)據(jù)中任意選擇數(shù)據(jù)淘汰 任意選擇數(shù)據(jù)淘汰 禁止驅(qū)逐數(shù)據(jù)
22.看你簡(jiǎn)歷上寫(xiě)了你項(xiàng)目里面用到了Redis,你們?yōu)樯队肦edis?因?yàn)閭鹘y(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)如Mysql已經(jīng)不能適用所有的場(chǎng)景了,比如秒殺的庫(kù)存扣減,APP首頁(yè)的訪問(wèn)流量高峰等等,都很容易把數(shù)據(jù)庫(kù)打崩,所以引入了緩存中間件,目前市面上比較常用的緩存中間件有Redis 和memcached 不過(guò)綜合考慮了他們的優(yōu)缺點(diǎn),最后選擇了Redis。
應(yīng)用場(chǎng)景不一樣:Redis出來(lái)作為Nosql數(shù)據(jù)庫(kù)使用外,還能用做消息隊(duì)列、數(shù)據(jù)堆棧和數(shù)據(jù)緩存等;Memcached適合于緩存SQL語(yǔ)句、數(shù)據(jù)集、用戶臨時(shí)性數(shù)據(jù)、延遲查詢數(shù)據(jù)和session等。
災(zāi)難恢復(fù)–memcache掛掉后,數(shù)據(jù)不可恢復(fù); redis數(shù)據(jù)丟失后可以通過(guò)aof恢復(fù)
存儲(chǔ)數(shù)據(jù)安全–memcache掛掉后,數(shù)據(jù)沒(méi)了;redis可以定期保存到磁盤(pán)(持久化)
23.Redis有哪些數(shù)據(jù)結(jié)構(gòu)呀?字符串String、字典Hash、列表List、集合Set、有序集合SortedSet
24.那你使用過(guò)Redis分布式鎖么,它是什么回事?先拿setnx來(lái)爭(zhēng)搶鎖,搶到之后,再用expire(一顆四百額)給鎖加一個(gè)過(guò)期時(shí)間防止鎖忘記了釋放。
25.這時(shí)候?qū)Ψ綍?huì)告訴你說(shuō)你回答得不錯(cuò),然后接著問(wèn)如果在setnx之后執(zhí)行expire之前進(jìn)程意外crash或者要重啟維護(hù)了,那會(huì)怎么樣?唉,是喔,這個(gè)鎖就永遠(yuǎn)得不到釋放了,我記得set指令有非常復(fù)雜的參數(shù),這個(gè)應(yīng)該是可以同時(shí)把setnx和expire合成一條指令來(lái)用的!
26.RDB的原理是什么?你給出兩個(gè)詞匯就可以了,fork和cow。fork是指redis通過(guò)創(chuàng)建子進(jìn)程來(lái)進(jìn)行RDB操作,cow指的是copy on write,子進(jìn)程創(chuàng)建后,父子進(jìn)程共享數(shù)據(jù)段,父進(jìn)程繼續(xù)提供讀寫(xiě)服務(wù),寫(xiě)入的頁(yè)面數(shù)據(jù)會(huì)逐漸和子進(jìn)程分離開(kāi)來(lái)。
27.mysql原理關(guān)系型數(shù)據(jù)庫(kù)使數(shù)據(jù)庫(kù)的數(shù)據(jù)之間存在關(guān)聯(lián)關(guān)系,可以通過(guò)一條數(shù)據(jù)關(guān)聯(lián)出一些列數(shù)據(jù),方便了數(shù)據(jù)的檢索和查詢,提高開(kāi)發(fā)人員的查詢效率,但是會(huì)拖累數(shù)據(jù)庫(kù),因此關(guān)系型數(shù)據(jù)庫(kù)不支持太高的并發(fā)
28.Redis主從怎么配置?1.編輯配置文件Redis.confredis默認(rèn)只允許本機(jī)連接,所以需要找到“bind 127.0.0.1”并將這行注釋掉:
redis在3.0版本以后增加了保護(hù)模式 ,如需保護(hù),改成yes
將默認(rèn)的“daemonize no”改為yes,設(shè)置redis以守護(hù)線程方式啟動(dòng):
分別配置pid,log,db文件的保存地址
啟動(dòng)redis
設(shè)置開(kāi)機(jī)啟動(dòng)
2.Redis主從配置從節(jié)點(diǎn)配置
(1) 修改redis從配置文件,添加一行配置“slaveof 192.168.0.101 6379”映射到主節(jié)點(diǎn)
(2) 重啟從節(jié)點(diǎn)的redis
3.查看并驗(yàn)證主從配置(1)主節(jié)點(diǎn)與從節(jié)點(diǎn)均登錄redis并執(zhí)行info命令查看主從配置結(jié)果
找到“# Replication”模塊,可以看到主節(jié)點(diǎn)提示存在一個(gè)從節(jié)點(diǎn),并且會(huì)列出從節(jié)點(diǎn)的相關(guān)信息,同樣,可以在從節(jié)點(diǎn)看到自己的主節(jié)點(diǎn)是哪個(gè),列出主節(jié)點(diǎn)的相關(guān)信息
(2)驗(yàn)證主從
登錄主節(jié)點(diǎn)redis,set age 24,到從節(jié)點(diǎn)直接get age,看到可以get到我們?cè)谥鞴?jié)點(diǎn)設(shè)置的值24,說(shuō)明主從配置成功
29.mysql數(shù)據(jù)庫(kù)用的是主從讀寫(xiě)分離,主庫(kù)寫(xiě),從庫(kù)讀,假如從庫(kù)無(wú)法讀取了、或者從庫(kù)讀取特別慢,你會(huì)如何解決?筆者回答:以解決問(wèn)題為前提條件,先添加從庫(kù)數(shù)量,臨時(shí)把問(wèn)題給解決,然后抓取slow log ,分析sql語(yǔ)句,該優(yōu)化就優(yōu)化處理。慢要不就是硬件跟不上,需要升級(jí);要不就是軟件需要調(diào)試優(yōu)化,等問(wèn)題解決在細(xì)化。
30.Mysql忘記密碼該如何操作呢?1、修改my.ini配置文件,添加跳過(guò)密碼驗(yàn)證代碼;
代碼:skip-grant-tables,使用為跳過(guò)密碼驗(yàn)證。代碼添加位置,建議放在[mysqld]之后;
2、進(jìn)入命令行,使用mysql -u root登錄;
3、使用use mysql;選擇數(shù)據(jù)庫(kù);
4、執(zhí)行update代碼;
update mysql.user set authentication_string=password('root_password') where user='root';
5.執(zhí)行完成后,再輸入以下代碼:
flush privileges;\x1f
刷新MySQL的系統(tǒng)權(quán)限相關(guān)表,否則會(huì)出現(xiàn)拒絕訪問(wèn)等錯(cuò)誤;
再記得刪除my.ini中配置的skip-grant-tables(跳過(guò)密碼驗(yàn)證)代碼;
5、重啟服務(wù)后,再使用新密碼登錄即可;
31.Nginx宕機(jī)怎么處理?Nginx上傳大文件150M以上上傳不了。是因?yàn)閹挼膯?wèn)題,因?yàn)榇蠹叶荚谏蟼?,小文件可以傳是因?yàn)樵趦?yōu)化的65秒可以上傳內(nèi)容這么大。把上傳的優(yōu)化斷開(kāi)時(shí)間修改到1800秒。過(guò)了幾天服務(wù)器直接宕機(jī)了。后來(lái)發(fā)現(xiàn)后來(lái)服務(wù)器的進(jìn)程滿級(jí)了。因?yàn)樯蟼鞯男〉奈募彩钦加?800秒。所以很多人上傳不了文件,因?yàn)檫M(jìn)程都被占用了。解決。。要進(jìn)行邏輯業(yè)務(wù)分離,上傳的專(zhuān)門(mén)做上傳服務(wù)器,不再走網(wǎng)站形式進(jìn)行上傳。
32.出現(xiàn)keepalived腦裂,是什么原因?可能是端口受阻。網(wǎng)絡(luò)線路抖動(dòng),導(dǎo)致通電信號(hào)受阻。。導(dǎo)致健康信號(hào)包發(fā)送不了也接收不了。所以雙方都起了VIP,客戶訪問(wèn)時(shí)出現(xiàn)兩個(gè)VIP,所以出現(xiàn)這個(gè)問(wèn)題。
33.懷疑一塊網(wǎng)卡有問(wèn)題的時(shí)候,如何檢測(cè)?將其安裝在一臺(tái)能正常上網(wǎng)的機(jī)器上,看其指示燈是否閃爍,正常接入狀態(tài)下指示燈應(yīng)為紅色或者綠色,然后用ping命令檢測(cè)是否能ping通網(wǎng)絡(luò)上的主機(jī),若通則正常,若網(wǎng)卡驅(qū)動(dòng)安裝無(wú)誤而ping命令不通,則可以斷定網(wǎng)卡壞掉。
34.遇到網(wǎng)絡(luò)或病毒攻擊,該怎么辦,說(shuō)說(shuō)思路,然后是怎么找到病毒源頭,怎么清除病毒?這是公司常遇到的網(wǎng)絡(luò)問(wèn)題提前預(yù)防裝殺毒軟件,下升級(jí)補(bǔ)丁,修補(bǔ)漏洞,定時(shí)更新殺毒軟件,定時(shí)進(jìn)行全盤(pán)掃描。2.臨陣磨槍0萬(wàn)一中毒,第一件要干的事就是下網(wǎng),防止病毒繼續(xù)蔓延。然后立即從新啟動(dòng)機(jī)器,再開(kāi)機(jī)時(shí)狂按F8,選擇進(jìn)入安全模式,進(jìn)入后任何程序都不要打開(kāi),在任務(wù)管理器上把平時(shí)看不到的進(jìn)程關(guān)閉,然后關(guān)閉任務(wù)管理器,打開(kāi)殺毒軟件,進(jìn)行全盤(pán)掃描。查出的病毒先用殺毒軟件刪,刪不了的話,用別的機(jī)器下一個(gè)unlocker(是個(gè)程序,需安裝,極小,才191Kb),記下病毒路徑,找到病毒文件,右鍵選擇unlocker,手動(dòng)刪除!35.數(shù)據(jù)庫(kù)滿了,怎么縮容,騰出更多的磁盤(pán)空間,也是公司常遇到的問(wèn)題;
將30天以前的很少用到日志進(jìn)行定期的清除。
36.nginx和Apache的區(qū)別在哪兒?Nginx是輕量級(jí)的web服務(wù)比Apache占用更小的內(nèi)存以及資源
Nginx并發(fā)量比Apache高三倍以上
可作為負(fù)載均衡,反向代理器
37.LVS的工作原理是什么?有哪些算法?LVS群集,也叫LVS虛擬服務(wù)器,針對(duì)Linux內(nèi)核開(kāi)發(fā)的一個(gè)負(fù)載均衡項(xiàng)目。LVS是基于IP地址和內(nèi)容請(qǐng)求分發(fā)的高效負(fù)載均衡解決方案,現(xiàn)在屬于linux內(nèi)核的一部分,默認(rèn)編譯為ip_vs模塊。
38.Linux系統(tǒng)用戶數(shù)/etc/security/limits.conf
# 當(dāng)前用戶最大登錄數(shù)
# max number of logins for this user
* soft maxlogins 100
* hard maxlogins 100
# 系統(tǒng)最大登錄用戶數(shù)
# max number of logins on the system
* soft maxsyslogins 100
* hard maxsyslogins 100
39.MySql將查詢結(jié)果插入到另外一張表Insert into 目標(biāo)表 select * from 來(lái)源表 ;
40.Redis數(shù)據(jù)量很大,怎么做一、增加內(nèi)存
redis存儲(chǔ)于內(nèi)存中,數(shù)據(jù)太多,占用太多內(nèi)存,那么增加內(nèi)存就是最直接的方法,但是這個(gè)方法一般不采用,因?yàn)閮?nèi)存滿了就加內(nèi)存,滿了就加,那代價(jià)也太大,相當(dāng)于用錢(qián)解決問(wèn)題,不首先考慮,一般所有方面都做到最優(yōu)化,才考慮此方法
二、搭建Redis集群
(1)所有的redis節(jié)點(diǎn)彼此互聯(lián)(PING-PONG機(jī)制),內(nèi)部使用二進(jìn)制協(xié)議優(yōu)化傳輸速度和帶寬.
(2)節(jié)點(diǎn)的fail(失敗)是通過(guò)集群中超過(guò)半數(shù)的節(jié)點(diǎn)檢測(cè)失效時(shí)才生效.
(3)客戶端與redis節(jié)點(diǎn)直連,不需要中間proxy層.客戶端不需要連接集群所有節(jié)點(diǎn),連接集群中任何一個(gè)可用節(jié)點(diǎn)即可
(4)redis-cluster把所有的物理節(jié)點(diǎn)映射到[0-16383]slot上,cluster 負(fù)責(zé)維護(hù)node<->slot<->value
Redis集群中內(nèi)置了 16384 個(gè)哈希槽,當(dāng)需要在 Redis 集群中放置一個(gè) key-value 時(shí),redis 先對(duì)key 使用 crc16 算法算出一個(gè)結(jié)果,然后把結(jié)果對(duì) 16384 求余數(shù),這樣每個(gè) key 都會(huì)對(duì)應(yīng)一個(gè)編號(hào)在 0-16383 之間的哈希槽,redis 會(huì)根據(jù)節(jié)點(diǎn)數(shù)量大致均等的將哈希槽映射到不同的節(jié)點(diǎn)
41.磁盤(pán)RAID級(jí)別有幾種,分別是哪幾種?你了解或者使用過(guò)哪幾種,請(qǐng)寫(xiě)出它們的大概描述和區(qū)別。RAID級(jí)別有以下幾種:NRAID,JBOD,RAID0,RAID1,RAID0+1,RAID3,RAID5等。目前經(jīng)常使用的是RAID0,RAID1,RAID3,RAID5和RAID(0+1)。它們的區(qū)別大致如下:
RAID 0 存取速度最快 但沒(méi)有容錯(cuò) 2塊盤(pán)
RAID 1 完全容錯(cuò)但成本比較高,可用于數(shù)據(jù)備份,磁盤(pán)利用率為50% 2塊盤(pán)
RAID 3 寫(xiě)入性能最好 但沒(méi)有多任務(wù)功能 3塊盤(pán)n+1,1為校驗(yàn)盤(pán)
RAID 5 具備多任務(wù)及容錯(cuò)功能,安全性高,隨機(jī)和連續(xù)讀寫(xiě)性能低 3塊盤(pán)
RAID 0+1 讀寫(xiě)速度快、完全容錯(cuò)但成本高,用的比較多 4塊盤(pán) 利用率50%
42.192.168.1.0/23包含多少I(mǎi)P43.工作中遇到的故障點(diǎn)44.mysql主從復(fù)制不同步的原因及如何處理?→兩種方法:
方法一:該方法適用于主從庫(kù)數(shù)據(jù)相差不大,或者要求數(shù)據(jù)可以不完全統(tǒng)一的情況,數(shù)據(jù)要求不嚴(yán)格的情況
首先進(jìn)入master庫(kù),查看進(jìn)程是否sleep太多,還有狀態(tài)是否正常,然后在從slave上查看,IO線程和SQL線程是否正常。如果不正常,則停止slave,然后set globai sql_slave_skip_counter=1(跳過(guò)一個(gè)事物);再重新啟動(dòng)slave,再用show slave status \\G;查看,如果IO線程和SQL線程均為yes,那么主從同步狀態(tài)恢復(fù)正常。
方法二:該方法適用于主從庫(kù)數(shù)據(jù)相差較大,或者要求數(shù)據(jù)完全統(tǒng)一的情況
1.先進(jìn)入主庫(kù),進(jìn)行鎖表,防止數(shù)據(jù)寫(xiě)入 。使用命令: flush tables with read lock;
2..進(jìn)行數(shù)據(jù)備份 。把數(shù)據(jù)備份到mysql.bak.sql文件 ,使用命令:mysqldump -uroot -p -hlocalhost > mysql.bak.sql
3.查看master 狀態(tài) 。使用命令:show master status;
4.把mysql備份文件傳到從庫(kù)機(jī)器,進(jìn)行數(shù)據(jù)恢復(fù) 。使用命令:scp mysql.bak.sql root@192.168.128.101:/tmp/
5.停止從庫(kù)的狀態(tài) 。使用命令:stop slave;
6.然后到從庫(kù)執(zhí)行mysql命令,導(dǎo)入數(shù)據(jù)備份。使用命令:source /tmp/mysql.bak.sql
7.設(shè)置從庫(kù)同步,注意該處的同步點(diǎn),就是主庫(kù)show master status信息里的| File| Position兩項(xiàng)
change master to master_host = '192.168.128.100', master_user = 'rsync', master_port=3306, master_password='', master_log_file = 'mysqld-bin.000001', master_log_pos=3260;
8.重新開(kāi)啟從同步 。使用命令:start slave;
9.查看同步狀態(tài) 。使用命令:show slave status\\G ;如果IO線程和SQL線程均為yes時(shí),則主從可同步。
45.當(dāng)文件系統(tǒng)受到破壞時(shí),如何檢查和修復(fù)系統(tǒng)?參考答案:成功修復(fù)文件系統(tǒng)的前提是要有兩個(gè)以上的主文件系統(tǒng),并保證在修復(fù)之前首先卸載將被修復(fù)的文件系統(tǒng)。使用命令fsck對(duì)受到破壞的文件系統(tǒng)進(jìn)行修復(fù)。fsck檢查文件系統(tǒng)分為5步,每一步檢查系統(tǒng)不同部分的連接特性并對(duì)上一步進(jìn)行驗(yàn)證和修改。在執(zhí)行 fsck命令時(shí),檢查首先從超級(jí)塊開(kāi)始,然后是分配的磁盤(pán)塊、路徑名、目錄的連接性、鏈接數(shù)目以及空閑塊鏈表、i-node。
46.訪問(wèn)網(wǎng)頁(yè)時(shí)報(bào)錯(cuò)都是什么意思?401:用戶驗(yàn)證失敗。402:密碼認(rèn)證失敗。403:訪問(wèn)被拒絕。404:文件位置發(fā)生了轉(zhuǎn)變或刪除。500:用戶權(quán)限的問(wèn)題導(dǎo)致。501: 不具有請(qǐng)求功能。502:錯(cuò)誤網(wǎng)關(guān)。503:正在維護(hù)或者暫停。504:網(wǎng)關(guān)超時(shí)的現(xiàn)象 505:http的版本是不受支持。
47.簡(jiǎn)述貴公司的PV、UV、IP,流量等資源大???日訪問(wèn)量100萬(wàn),小時(shí)點(diǎn)擊量4-5萬(wàn),最高QPS 1000左右,UV量是20-30萬(wàn),IP量為55萬(wàn)
48.zabbix常見(jiàn)報(bào)錯(cuò)問(wèn)題處理①報(bào)錯(cuò):centos6.5裝上agent之后,卻發(fā)現(xiàn)啟動(dòng)不了,日志里面報(bào)錯(cuò)如下:zabbix_agentd [20529]: cannot create Semaphore: [28] No space left on device(設(shè)備上沒(méi)有剩余空間)zabbix_agentd [20529]: unable to create mutex for log file修改/etc/sysctl.conf添加如下行:kernel.sem (信號(hào)量)= 500(信號(hào)集容納最大量) 64000(所有信號(hào)量) 64(單個(gè)集) 256(信號(hào)集最大)修改之后,執(zhí)行sysctl -p使其生效。
重新啟動(dòng)zabbix-agent即可
49.mysql查看版本號(hào)?Liunx ,Ubuntu查看版本號(hào)?登錄時(shí)候可以查看或者使用命令select version() ; cat /etc/redhat-release cat /etc/issue
50.Linux中開(kāi)放某個(gè)端口開(kāi)放某個(gè)端口
開(kāi)放8080端口:firewall-cmd --zone(區(qū))=public(公眾)--add-port=8080/tcp --permanent(永久)
重啟防火墻:firewall-cmd --reload
51.Linux操作系統(tǒng)啟動(dòng)順序開(kāi)機(jī)自檢,加載BIOS→Grub引導(dǎo)→加載內(nèi)核Kernel→init系統(tǒng)初始化腳本(/etc/rc.d/rc.sysinit)→加載啟動(dòng)的服務(wù)
52.Linux中/var/log/下日志詳解系統(tǒng)日志一般都存在/var/log下常用的系統(tǒng)日志如下:核心啟動(dòng)日志:/var/log/dmesg系統(tǒng)報(bào)錯(cuò)日志:/var/log/messages(幾乎所有的開(kāi)機(jī)系統(tǒng)發(fā)生的錯(cuò)誤)郵件系統(tǒng)日志:/var/log/maillogFTP系統(tǒng)日志:/var/log/xferlog
53.mysql中一些重要的參數(shù)最大連接數(shù),響應(yīng)的連接數(shù),索引緩沖區(qū)的大小,等待行動(dòng)的秒數(shù),表高速緩存的大小,允許的同時(shí)客戶的數(shù)量,為所有線程打開(kāi)表的數(shù)量,服務(wù)器在關(guān)閉它之前在一個(gè)連接上等待行動(dòng)的秒數(shù)
54.Linux怎么批量殺死進(jìn)程ps -ef | grep firefox | grep -v grep | cut -c 9-15 | xargs kill -s 9
說(shuō)明:grep firefox的輸出結(jié)果是,所有含有關(guān)鍵字“firefox”的進(jìn)程。grep -v grep是在列出的進(jìn)程中去除含有關(guān)鍵字“grep”的進(jìn)程。cut -c 9-15是截取輸入行的第9個(gè)字符到第15個(gè)字符,而這正好是進(jìn)程號(hào)PID。xargs kill -s 9中的xargs命令是用來(lái)把前面命令的輸出結(jié)果(PID)作為“kill -s 9”命令的參數(shù),并執(zhí)行該命令。“kill -s 9”會(huì)強(qiáng)行殺掉指定進(jìn)程。
55.查看僵尸進(jìn)程:ps aux | grep Z殺死僵尸進(jìn)程:kill -9 7811 還會(huì)產(chǎn)生新的進(jìn)程,用以下命令進(jìn)行殺死進(jìn)程
解決辦法:
ps -ef | grep defunct(查出不再使用的進(jìn)程,死的)
$3 是這些僵尸進(jìn)程的父進(jìn)程 PID ( PPID ),殺之!
ps -ef | grep defunct | awk '{print $3}' | xargs -i kill {}
56.vim中有那三種模式命令,輸入,編輯模式
57.關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系性數(shù)據(jù)庫(kù)的區(qū)別?數(shù)據(jù)存儲(chǔ)方式不同,擴(kuò)展方式不同,對(duì)事物的支持不同
關(guān)系型數(shù)據(jù)庫(kù)最典型的數(shù)據(jù)結(jié)構(gòu)是表,由二維表及其之間的聯(lián)系所組成的一個(gè)數(shù)據(jù)組織。
非關(guān)系型數(shù)據(jù)庫(kù)嚴(yán)格上不是一種數(shù)據(jù)庫(kù),應(yīng)該是一種數(shù)據(jù)結(jié)構(gòu)化存儲(chǔ)方法的集合,可以是文檔或者鍵值對(duì)等。
58.nginx里面添加虛擬主機(jī)添加一個(gè)server{},每個(gè)server里面的配置對(duì)應(yīng)一個(gè)虛擬主機(jī)vhost
在 location下的fastsgi_pass 后面跟 虛擬主機(jī)ip+端口。
59.查看資源有哪些?
iostat監(jiān)控系統(tǒng)設(shè)備的IO負(fù)載 top系統(tǒng)實(shí)時(shí)情況 ifconfig查看網(wǎng)絡(luò) uptime查看系統(tǒng)負(fù)載 free內(nèi)存情況
59.Linux系統(tǒng)用戶數(shù)/etc/security/limits.conf
# 當(dāng)前用戶最大登錄數(shù)
# max number of logins for this user
* soft maxlogins 100
* hard maxlogins 100
# 系統(tǒng)最大登錄用戶數(shù)
# max number of logins on the system
* soft maxsyslogins 100
* hard maxsyslogins 100
60.MySQL5.6和mysql5.7的區(qū)別是什么?mysql5.7是5.6的新版本,新增了新的優(yōu)化器,原生JSON支持,多源復(fù)制,還優(yōu)化了整體的性能、GIS空間擴(kuò)展、innodb.
61.jdk1.7和1.8的區(qū)別?并發(fā)工具增強(qiáng) Networking增強(qiáng) Security 增強(qiáng)
62.有沒(méi)有遇到過(guò)ddos攻擊,攻擊的原理是什么,當(dāng)前最容易消耗的是什么資源?即分布式拒絕服務(wù)攻擊,是指攻擊者通過(guò)網(wǎng)絡(luò)遠(yuǎn)程控制大量僵尸主機(jī)向一個(gè)或多個(gè)目標(biāo)發(fā)送大量攻擊請(qǐng)求,耗盡攻擊目標(biāo)服務(wù)器的系統(tǒng)資源,導(dǎo)致其無(wú)法響應(yīng)正常的服務(wù)請(qǐng)求,利用的是TCP/IP三次握手 sync實(shí)現(xiàn)攻擊... 最容易消耗目標(biāo)服務(wù)器的網(wǎng)絡(luò)帶寬
63.服務(wù)器怎么做的安全加固?1.禁用或刪除無(wú)用賬號(hào)2.檢查特殊賬號(hào) 3.限制用戶su 4.禁止root用戶直接登錄
5.關(guān)閉不必要的服務(wù) 6.記錄所有用戶的登錄和操作日志 7.設(shè)置登錄超時(shí) 8.ssh服務(wù)安全
64.現(xiàn)在給你三百臺(tái)服務(wù)器,你怎么對(duì)他們進(jìn)行管理?管理3百臺(tái)服務(wù)器的方式:1)設(shè)定跳板機(jī),使用統(tǒng)一賬號(hào)登錄,便于安全與登錄的考量。2)使用salt、ansiable、puppet進(jìn)行系統(tǒng)的統(tǒng)一調(diào)度與配置的統(tǒng)一管理。3)建立簡(jiǎn)單的服務(wù)器的系統(tǒng)、配置、應(yīng)用的cmdb信息管理。便于查閱每臺(tái)服務(wù)器上的各種信息記錄。
65.LVS、Nginx、HAproxy有什么區(qū)別?工作中你怎么選擇?LVS: 是基于四層的轉(zhuǎn)發(fā)HAproxy: 是基于四層和七層的轉(zhuǎn)發(fā),是專(zhuān)業(yè)的代理服務(wù)器Nginx: 是WEB服務(wù)器,緩存服務(wù)器,又是反向代理服務(wù)器,可以做七層的轉(zhuǎn)發(fā)區(qū)別: LVS由于是基于四層的轉(zhuǎn)發(fā)所以只能做端口的轉(zhuǎn)發(fā)而基于URL的、基于目錄的這種轉(zhuǎn)發(fā)LVS就做不了工作選擇:HAproxy和Nginx由于可以做七層的轉(zhuǎn)發(fā),所以URL和目錄的轉(zhuǎn)發(fā)都可以做在很大并發(fā)量的時(shí)候我們就要選擇LVS,像中小型公司的話并發(fā)量沒(méi)那么大選擇HAproxy或者Nginx足已,由于HAproxy由是專(zhuān)業(yè)的代理服務(wù)器配置簡(jiǎn)單,所以中小型企業(yè)推薦使用HAproxy
66.講一下Keepalived的工作原理?在一個(gè)虛擬路由器中,只有作為MASTER的VRRP路由器會(huì)一直發(fā)送VRRP通告信息,BACKUP不會(huì)搶占MASTER,除非它的優(yōu)先級(jí)更高。當(dāng)MASTER不可用時(shí)(BACKUP收不到通告信息)多臺(tái)BACKUP中優(yōu)先級(jí)最高的這臺(tái)會(huì)被搶占為MASTER。這種搶占是非??焖俚?<1s),以保證服務(wù)的連續(xù)性由于安全性考慮,VRRP包使用了加密協(xié)議進(jìn)行加密。BACKUP不會(huì)發(fā)送通告信息,只會(huì)接收通告信息
67.講述一下Tomcat8005、8009、8080三個(gè)端口的含義?
8005==》監(jiān)聽(tīng)的關(guān)閉端口
8080==》正常的http協(xié)議
8009==》接受其他服務(wù)器轉(zhuǎn)發(fā)過(guò)來(lái)的請(qǐng)求.68.什么叫CDN?- 即內(nèi)容分發(fā)網(wǎng)絡(luò)- 其目的是通過(guò)在現(xiàn)有的Internet中增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)邊緣,使用戶可就近取得所需的內(nèi)容,提高用戶訪問(wèn)網(wǎng)站的速度69.什么叫網(wǎng)站灰度發(fā)布?灰度發(fā)布是指在黑與白之間,能夠平滑過(guò)渡的一種發(fā)布方式AB test就是一種灰度發(fā)布方式,讓一部用戶繼續(xù)用A,一部分用戶開(kāi)始用B如果用戶對(duì)B沒(méi)有什么反對(duì)意見(jiàn),那么逐步擴(kuò)大范圍,把所有用戶都遷移到B上面 來(lái)灰度發(fā)布可以保證整體系統(tǒng)的穩(wěn)定,在初始灰度的時(shí)候就可以發(fā)現(xiàn)、調(diào)整問(wèn)題,以保證其影響度70.簡(jiǎn)述DNS進(jìn)行域名解析的過(guò)程?用戶要訪問(wèn)www.baidu.com,會(huì)先找本機(jī)的host文件,再找本地設(shè)置的DNS服務(wù)器,如果也沒(méi)有的話,就去網(wǎng)絡(luò)中找根服務(wù)器,根服務(wù)器反饋結(jié)果,說(shuō)只能提供一級(jí)域名服務(wù)器.cn,就去找一級(jí)域名服務(wù)器,一級(jí)域名服務(wù)器說(shuō)只能提供二級(jí)域名服務(wù)器.com.cn,就去找二級(jí)域名服務(wù)器,二級(jí)域服務(wù)器只能提供三級(jí)域名服務(wù)器.baidu.com.cn,就去找三級(jí)域名服務(wù)器,三級(jí)域名服務(wù)器正好有這個(gè)網(wǎng)站www.baidu.com,然后發(fā)給請(qǐng)求的服務(wù)器,保存一份之后,再發(fā)給客戶端71.RabbitMQ是什么東西?RabbitMQ也就是消息隊(duì)列中間件,消息中間件是在消息的傳息過(guò)程中保存消息的容器消息中間件再將消息從它的源中到它的目標(biāo)中標(biāo)時(shí)充當(dāng)中間人的作用隊(duì)列的主要目的是提供路由并保證消息的傳遞;如果發(fā)送消息時(shí)接收者不可用消息隊(duì)列不會(huì)保留消息,直到可以成功地傳遞為止,當(dāng)然,消息隊(duì)列保存消息也是有期限地
72.簡(jiǎn)述TCP三次握手的過(guò)程?答案:
在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務(wù),采用三次握手建立一個(gè)連接。
第一次握手:建立連接時(shí),客戶端發(fā)送syn包(syn=j)到服務(wù)器,并進(jìn)入SYN_SEND(發(fā)送)狀態(tài),等待服務(wù)器確認(rèn)。
第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(syn=k),即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV(接收)狀態(tài)。
第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED(已建立連接)狀態(tài),完成三次握手。
完成三次握手,客戶端與服務(wù)器開(kāi)始傳送數(shù)據(jù)
簡(jiǎn)版:首先A向B發(fā)SYN(同步請(qǐng)求),然后B回復(fù)SYN+ACK(同步請(qǐng)求應(yīng)答),最后A回復(fù)ACK確認(rèn),這樣TCP的一次連接(三次握手)的過(guò)程就建立了
73.常見(jiàn)的Linux版本有哪些?你最擅長(zhǎng)哪一種?說(shuō)明你擅長(zhǎng)哪一塊?常見(jiàn)的Linux發(fā)行版有,Debian, Gentoo, Ubuntu, RedHat, CentOS, Fedora, Kali Linux, Suse等,最擅長(zhǎng)CentOS,擅長(zhǎng)部分命令使用,腳本編程,環(huán)境服務(wù)搭建與配置。
74.Linux的標(biāo)準(zhǔn)分區(qū)是什么?(內(nèi)存32G,硬盤(pán)1T)/boot 分200M,/分50G,swap 分16G,其余分到 /data 下。
75. 突然發(fā)現(xiàn)一臺(tái)Linux系統(tǒng)只讀,應(yīng)該怎么處理,請(qǐng)寫(xiě)出詳細(xì)步驟。文件系統(tǒng)只讀,可能是誤操作,比如掛載的時(shí)候加了ro的掛載選項(xiàng)。也可能是文件系統(tǒng)損壞,這時(shí)候可以使用fsck -y 分區(qū) 來(lái)嘗試修復(fù)一下,但在修復(fù)之前最好是把重要數(shù)據(jù)做一個(gè)備份以防萬(wàn)一。如果修復(fù)失敗,那說(shuō)明是磁盤(pán)損壞,這就需要更換磁盤(pán)了。
76.請(qǐng)用iptables寫(xiě)一條規(guī)則(同時(shí)允許443,80,1723,22,3306,11211,25,110,dns,ntp協(xié)議,并寫(xiě)出默認(rèn)允許或者拒絕端口的作用)iptables -I INPUT -p tcp -m multiport --dport 443,80,1723,22,3306,11211,25,110,53,123 -j ACCEPT
iptables默認(rèn)是允許所有端口開(kāi)放的,如果想只放行指定某些端口,那就需要配置一下默認(rèn)規(guī)則了。比如本例中,我們寫(xiě)完放行的端口規(guī)則后還需要寫(xiě)一條默認(rèn)拒絕的規(guī)則iptables -P INPUT DROP 這樣除了上面那規(guī)則中提到的端口可以訪問(wèn)外,其他端口都是拒絕的。
77.網(wǎng)站HTTPS證書(shū)認(rèn)證需要那幾個(gè)文件?分別是什么?什么作用?HTTPS證書(shū)需要有兩個(gè)文件,一個(gè)是crt,一個(gè)是key。crt文件就是公鑰文件,用來(lái)加密的。而key文件是私鑰文件,是用來(lái)解密的。
78. 構(gòu)建簡(jiǎn)單網(wǎng)站架構(gòu)模型設(shè)備:13臺(tái)服務(wù)器,要求:有負(fù)載均衡和數(shù)據(jù)庫(kù)主從
答案:
架構(gòu):Keepavlied + lvs + nginx/php + NFS + mysql + redis
keepalived+lvs 使用2臺(tái)
Nginx+php-fpm使用5臺(tái)
NFS 使用1臺(tái)
Mysql雙主,并使用keepalived構(gòu)建高可用 使用2臺(tái)
Redis 使用1臺(tái),用來(lái)存session
備份機(jī)器使用1臺(tái)
監(jiān)控機(jī)器使用1臺(tái)
79.Apache有幾種工作模式,分別介紹下其特點(diǎn),并說(shuō)明什么情況下采用不同的工作模式?Web服務(wù)器Apache目前一共有三種穩(wěn)定的MPM(Multi-Processing Module,多進(jìn)程處理模塊)模式。它們分別是prefork,worker和event,它們同時(shí)也代表這Apache的演變和發(fā)展。
1、Prefork MPM
Prefork MPM實(shí)現(xiàn)了一個(gè)非線程的、預(yù)派生的web服務(wù)器。
2、Worker MPM
和prefork模式相比,worker使用了多進(jìn)程和多線程的混合模式,worker模式也同樣會(huì)先預(yù)派生一些子進(jìn)程,然后每個(gè)子進(jìn)程創(chuàng)建一些線程,同時(shí)包括一個(gè)監(jiān)聽(tīng)線程,每個(gè)請(qǐng)求過(guò)來(lái)會(huì)被分配到一個(gè)線程來(lái)服務(wù)。
3、Event MPM
這是Apache最新的工作模式,它和worker模式很像,不同的是在于它解決了keep-alive長(zhǎng)連接的時(shí)候占用線程資源被浪費(fèi)的問(wèn)題
80.寫(xiě)一條192.168.10.0網(wǎng)段從網(wǎng)關(guān)192.168.9.1出去的路由
答:route add -net 192.168.10.0/24 gw 192.168.9.1
81.寫(xiě)一條放行80端口的防火墻規(guī)則。
答:iptables -I INPUT -p tcp --dport 80 -j ACCEPT
82. 你公司監(jiān)控(如zabbix)系統(tǒng)監(jiān)控了哪些項(xiàng)目。
答:監(jiān)控了CPU使用率、內(nèi)存剩余、磁盤(pán)使用空間、網(wǎng)卡流量、web服務(wù)、mysql主從、訪問(wèn)日志等
83. linux引導(dǎo)加載的先后順序是BIOS kernel GRUB MBR RAID?
答案:BIOS -> RAID -> MBR -> GRUB -> kernel
84.進(jìn)程間通信方式主要有哪幾種方式?
答案:1管道 2命名管道 3信號(hào) 4消息隊(duì)列 5共享內(nèi)存 6信號(hào)量 7套接字
85.簡(jiǎn)要說(shuō)明你對(duì)內(nèi)核空間和用戶空間的理解?
答案:這個(gè)問(wèn)題有點(diǎn)偏開(kāi)發(fā),大家不明白沒(méi)有關(guān)系,了解一下即可。操作系統(tǒng)和驅(qū)動(dòng)程序運(yùn)行在內(nèi)核空間,應(yīng)用程序運(yùn)行在用戶空間
86.你用過(guò)或測(cè)試過(guò)哪些 linux/unix文件系統(tǒng)?
答案:centos5默認(rèn)是ext3,centos6為ext4,centos7為xfs
87. 怎樣用命令查看3天前的CPU分核的負(fù)載數(shù)據(jù)?
答案:sar -f /var/log/sa/(三天前日期)
88. 某命令CPU負(fù)載顯示以下各段,分別是什么? 10.6%us,6.6%sy, 0.0%ni 74.4%id 0.0%wa
答案:us 用戶cpu百分比 sy內(nèi)核cpu百分比 ni進(jìn)程占用百分比 id 空閑百分比 wa io等待占用的百分比
89.. 列舉你知道的linux下的壓力測(cè)試程序
答案:測(cè)試web的工具:http_load,ab
專(zhuān)業(yè)的測(cè)試工具loadrunner
90. 描述linux系統(tǒng)下創(chuàng)建軟RAID5的命令和步驟
答案:假如有四塊硬盤(pán) /dev/sda,/dev/sdb,/dev/sdc,/dev/sdd,分別給他們分一個(gè)主分區(qū)sda1,sdb1,sdc1和sdd1,然后創(chuàng)建RAID設(shè)備名為md0, 級(jí)別為RAID5,使用3個(gè)設(shè)備建立RAID,空余一個(gè)做備用.
命令如下:
mdadm --create /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[a-d]1
使用下面命令查看raid詳細(xì)信息
mdadm --detail /dev/md0
91 如何查找某一文件被哪個(gè)進(jìn)程打開(kāi)?
答案:lsof|grep file
92. 新增一塊存儲(chǔ)設(shè)備,lvm操作的命令如何寫(xiě)
答案:
將物理硬盤(pán)格式化成pv pvcreate /dev/sdb
創(chuàng)建卷組(VG)并將pv加到VG中 vgcreate vg1 /dev/sdb
基于VG創(chuàng)建邏輯卷(LV) lvcreate -n mylvm -L 20G vg1
93. 給主機(jī)host:172.16.0.2 增加gateway10.0.0.1
答案: route add 172.16.0.2 gw 10.0.0.1或者網(wǎng)卡配置文件更改
94.簡(jiǎn)述linux的優(yōu)化
【硬件方面】
1. cpu
2. 內(nèi)存 (增加內(nèi)存)
3. 存儲(chǔ) (使用raid,使用ssd)
4. 網(wǎng)卡 (使用千兆網(wǎng)卡,或者雙網(wǎng)卡綁定)
【系統(tǒng)方面 】
1. 內(nèi)核參數(shù)優(yōu)化(網(wǎng)絡(luò)相關(guān)、內(nèi)存相關(guān)、緩沖緩存相關(guān))
2. 文件系統(tǒng)方面(分區(qū)調(diào)優(yōu),格式化時(shí)根據(jù)存儲(chǔ)文件特性,指定合適的塊大小,noatime,日志隔離,軟raid,有效使用/dev/shm,關(guān)閉不必要的服務(wù))
3. cpu優(yōu)化 (進(jìn)程綁定,中斷綁定)
應(yīng)用程序方面】
1. nginx、apache、php-fpm、mysql、tomcat、squid等應(yīng)用,是可以通過(guò)調(diào)節(jié)各個(gè)參數(shù)獲得性能優(yōu)化的。
2. web優(yōu)化,比如可以把用戶請(qǐng)求合并(js、css合并),使用cdn加速靜態(tài)頁(yè)訪問(wèn)速度,把圖片文檔壓縮減少帶寬傳輸,
3. 優(yōu)化網(wǎng)站程序
【架構(gòu)方面】
1. 使用簡(jiǎn)單并且穩(wěn)定的架構(gòu)方案
2. 多使用緩存
10. iptables表和鏈
filter INPUT FORWARD OUTPUT
nat PREROUTING POSTROUTING OUTPUT
mangle PREROUTING INPUT FORWARD OUTPUT POSTROUTING
95.在不umount的情況下,如何重新設(shè)置mount的參數(shù)。
答案:mount -o remount,rw /
96. 說(shuō)一下公司多少臺(tái)服務(wù)器,是什么架構(gòu)
答案:有7臺(tái)服務(wù)器,lnmp+nginx負(fù)載+keepalived,其中2臺(tái)keepalived+2臺(tái)nginx/php-fpm+2臺(tái)mysql(一主一從)+NFS(上面兼著跑監(jiān)控、備份)
97.提高性能和并發(fā)數(shù),需要優(yōu)化哪些內(nèi)核參數(shù)
答案:
net.ipv4.tcp_max_tw_buckets = 6000 //timewait的數(shù)量,默認(rèn)是180000。
net.ipv4.ip_local_port_range = 1024 65000 //允許系統(tǒng)打開(kāi)的端口范圍。
net.ipv4.tcp_tw_reuse = 1 //允許將TIME-WAIT sockets 重新用于新的TCP 連接。
net.ipv4.tcp_syncookies = 1 //開(kāi)啟SYN Cookies,當(dāng)出現(xiàn)SYN 等待隊(duì)列溢出時(shí),啟用cookies 來(lái)處理。
net.ipv4.tcp_max_orphans = 262144 //系統(tǒng)中最多有多少個(gè)TCP套接字不被關(guān)聯(lián)到任何一個(gè)用戶文件句柄上。如果超過(guò)這個(gè)數(shù)字,孤兒連接將即刻被復(fù)位并打印出警告信息。這個(gè)限制僅僅是為了防止簡(jiǎn)單的DoS攻擊,不能過(guò)分依靠它或者人為地減小這個(gè)值,更應(yīng)該增加這個(gè)值(如果增加了內(nèi)存之后)。
net.ipv4.tcp_max_syn_backlog = 262144 //記錄的那些尚未收到客戶端確認(rèn)信息的連接請(qǐng)求的最大值。對(duì)于有128M內(nèi)存的系統(tǒng)而言,缺省值是1024,小內(nèi)存的系統(tǒng)則是128。
net.ipv4.tcp_synack_retries = 1 //為了打開(kāi)對(duì)端的連接,內(nèi)核需要發(fā)送一個(gè)SYN 并附帶一個(gè)回應(yīng)前面一個(gè)SYN的ACK。也就是所謂三次握手中的第二次握手。這個(gè)設(shè)置決定了內(nèi)核放棄連接之前發(fā)送SYN+ACK 包的數(shù)量。
net.ipv4.tcp_syn_retries = 1 //在內(nèi)核放棄建立連接之前發(fā)送SYN 包的數(shù)量。
net.ipv4.tcp_keepalive_time = 30 //當(dāng)keepalive 起用的時(shí)候,TCP 發(fā)送keepalive 消息的頻度。缺省是2 小時(shí)。
98.如何查看當(dāng)前l(fā)inux系統(tǒng)的狀態(tài)如cpu使用,內(nèi)存使用,負(fù)載情況,看到swap使用量大時(shí),是不是意味著物理內(nèi)存已不夠用?
答案:top命令就可以看cpu使用、內(nèi)存使用以及負(fù)載情況,當(dāng)swap使用率大時(shí),不一定是內(nèi)存不夠,如果swap容量固定不變,那內(nèi)存就不是瓶頸。用vmstat 1命令看,si so兩列的數(shù)值在不斷變化時(shí),內(nèi)存就不夠了。
99. 如何修改ip主機(jī)名DNS?
修改ip和DNS在配置文件/etc/sysconfig/network-scripts/ifcfg-eth0中修改,修改主機(jī)名,在/etc/sysconfig/network中修改。
100.如何查看PID為29394的進(jìn)程的環(huán)境變量?
cat /proc/29394/environ
101.當(dāng)io出現(xiàn)瓶頸時(shí),應(yīng)該查看哪個(gè)參數(shù),為什么?
vmstat 1 查看wa列,wa列表示處于等待狀態(tài)的cpu百分比,當(dāng)IO比較慢時(shí),CPU會(huì)有大量的wait。
102. 在 bash 里 $0 $? $* $@各表示什么意思?
$0 Shell本身的文件名
$?最后運(yùn)行的命令的返回值
$*所有參數(shù)列表。如"$*"用「"」括起來(lái)的情況、以"$1 $2 … $n"的形式輸出所有參數(shù)
$@ 所有參數(shù)列表。如"$@"用「"」括起來(lái)的情況、以"$1" "$2" … "$n" 的形式輸出所有參數(shù)。
103. 描述linux系統(tǒng)下創(chuàng)建軟RAID5的命令和步驟
答案:假如有四塊硬盤(pán) /dev/sda,/dev/sdb,/dev/sdc,/dev/sdd,分別給他們分一個(gè)主分區(qū)sda1,sdb1,sdc1和sdd1,然后創(chuàng)建RAID設(shè)備名為md0, 級(jí)別為RAID5,使用3個(gè)設(shè)備建立RAID,空余一個(gè)做備用.
使用命令:mdadm
最主要的是給自己增加知識(shí)的儲(chǔ)備,有備無(wú)患。最后給大家分享Spring系列的學(xué)習(xí)筆記和面試題,包含spring面試題、spring cloud面試題、spring boot面試題、spring教程筆記、spring boot教程筆記、最新阿里巴巴開(kāi)發(fā)手冊(cè)(63頁(yè)P(yáng)DF總結(jié))、2022年Java面試手冊(cè)。一共整理了1184頁(yè)P(yáng)DF文檔。私信博主(666)領(lǐng)取,祝大家更上一層樓?。?!
以上就是關(guān)于面試pos機(jī)公司,Linux運(yùn)維工程師面試題整理的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于面試pos機(jī)公司的知識(shí),希望能夠幫助到大家!
