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