Linux運(yùn)維工程師工作手冊(cè)_第1頁(yè)
Linux運(yùn)維工程師工作手冊(cè)_第2頁(yè)
Linux運(yùn)維工程師工作手冊(cè)_第3頁(yè)
Linux運(yùn)維工程師工作手冊(cè)_第4頁(yè)
Linux運(yùn)維工程師工作手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Linux運(yùn)維工程師工作手冊(cè)釋放內(nèi)存:syncecho3/proc/sys/vm/drop_cachesLinux查看Dell服務(wù)器型號(hào)命令:dmidecode|grepProductName查看系統(tǒng)負(fù)載:cat/proc/loadavg0.00.000.001/28310904意思是:前三個(gè)是系統(tǒng)負(fù)載,1/283中,1代表此時(shí)運(yùn)行隊(duì)伍中的進(jìn)程個(gè)數(shù),而283是代表此時(shí)的進(jìn)程總數(shù)10904到此為止,最后創(chuàng)建的一個(gè)進(jìn)程ID。系統(tǒng)裝好后,要做的事如下:關(guān)閉防火墻Selinux:vim/etc/selinux/config把SELINUX=enforcing改成SELINUX=disabled更改主機(jī)

2、名:vim/etc/sysconfig/network修改主機(jī)名,不要用localhost添加hosts主機(jī)記錄vim/etc/hosts中,在后面,添加自己的主機(jī)名創(chuàng)建0-9a-z目錄foriinseq09a.z;domkdir-p$i;done:測(cè)試硬盤性能工具:iozone監(jiān)視服務(wù)器每少上下文切換數(shù)次工具:Nmon(很不錯(cuò)的性能監(jiān)視工具)#占用內(nèi)存大小前10的進(jìn)程ps-eocomm,size-sort-size|head-10#占用cpu使用前10的進(jìn)程ps-eocomm,pcpu-sort-pcpu|head-10一、Apache服務(wù)優(yōu)化:21.配置cronolog進(jìn)

3、行日志輪詢22.錯(cuò)誤頁(yè)面優(yōu)雅顯示23.mod_deflate文件壓縮功能34.mod_expires緩存功能45.更改apache的默認(rèn)用戶56.worker模式,提升并發(fā)數(shù)(可以達(dá)到2000-5000)57.屏蔽apache版本等敏感信息68.apache目錄文件權(quán)限設(shè)置(root,目錄755,文件644)69.開啟httpd-mpm.conf增加連接數(shù)610.apache防盜鏈功能811.禁止目錄Index812.禁止用戶覆蓋(重載)813.關(guān)閉CGI914.避免使用.htaccess文件(分布式配置文件)915.apache的安全模塊916.正確途徑取得源代碼,勤打apache補(bǔ)丁101

4、7.apache日志授予root700權(quán)限1018.系統(tǒng)內(nèi)核參數(shù)優(yōu)化1019.禁止PHP解析指定站點(diǎn)的目錄1020.使用tmpfs文件系統(tǒng)替代頻繁訪問的目錄1121盡可能減少HTTP請(qǐng)求數(shù)1122使用CDN做網(wǎng)站加速12查看你的服務(wù)器網(wǎng)絡(luò)連接狀態(tài)netstat-n|awk/tcp/+S$NFENDfor(ainS)printa,SaCLOSED:無連接是活動(dòng)的或正在進(jìn)行LISTEN:服務(wù)器在等待進(jìn)入呼叫SYN_RECV:一個(gè)連接請(qǐng)求已經(jīng)到達(dá),等待確認(rèn)SYN_SENT:應(yīng)用已經(jīng)開始,打開一個(gè)連接ESTABLISHED:正常數(shù)據(jù)傳輸狀態(tài)FIN_WAIT1:應(yīng)用說它已經(jīng)完成FIN_WAIT2:另一邊

5、已同意釋放ITMED_WAIT:等待所有分組死掉CLOSING:兩邊同時(shí)嘗試關(guān)閉TIME_WAIT:另一邊已初始化一個(gè)釋放LAST_ACK:等待所有分組死掉ESTABLISHED的值其實(shí)也是當(dāng)前的并發(fā)數(shù),這個(gè)可重點(diǎn)關(guān)注下;另外,可關(guān)注下TIMEWAIT這項(xiàng)的數(shù)值。Linux下高并發(fā)的Squid服務(wù)器,TCPTIME_WAIT套接字?jǐn)?shù)量經(jīng)常達(dá)到兩、三萬,服務(wù)器很容易被拖死。通過修改Linux內(nèi)核參數(shù),可以減少Squid服務(wù)器的TIME_WAIT套接字?jǐn)?shù)量。#查看系統(tǒng)本地可用端口極限值cat/proc/sys/net/ipv4/ip_local_port_range尋找惡意IP并用iptables

6、禁止掉netstat-an|grep:80|grep-v|awkprint$5|sort|awk-F:print$1,$4|uniq-c|awk$150print$1,$24.5備份單個(gè)數(shù)據(jù)庫(kù)mysqldump-u用戶p密碼-default-character-set=latin1數(shù)據(jù)庫(kù)名備份文件名(數(shù)據(jù)庫(kù)默認(rèn)編碼是latin1)普通備份:mysqldump-uroot-poldboy123oldboy/server/bak/oldboy.sql壓縮備份:mysqldump-uroot-poldboy123oldboy|gzip/server/bak/oldboy.sql.g

7、z設(shè)置字符集備份:mysqldump-uroot-poldboy123oldboy-default-character-set=gbk|gzip/server/bak/oldboy.sql.gz執(zhí)行結(jié)果:rootoldboy#mkdir/server/bak-prootoldboy#mysqldump-uroot-poldboy123oldboy/server/babackup/bak/rootoldboy#mysqldump-uroot-poldboy123oldboy/server/bak/oldboy.sqlrootoldboy#mysqldump-uroot-poldboy123old

8、boy|gzip/server/bak/oldboy.sql.gzrootoldboy#ls-l/server/bak/total8-rw-r-r-1rootroot1991Apr900:51oldboy.sql-rw-r-r-1rootroot801Apr900:51oldboy.sql.gz4.6mysqldump在做啥?mysqldump實(shí)際上就是把數(shù)據(jù)從mysql庫(kù)里以邏輯的sql語(yǔ)句的形式導(dǎo)出。備份的數(shù)據(jù)過濾掉注釋:rootoldboy#egrep-v*|-|$/server/bak/oldboy.sqlDROPTABLEIFEXISTStest;CREATETABLEtest(id

9、int(4)NOTNULLAUTO_INCREMENT,namechar(20)NOTNULL,PRIMARYKEY(id)ENGINE=MyISAMAUTO_INCREMENT=12DEFAULTCHARSET=gbk;LOCKTABLEStestWRITE;INSERTINTOtestVALUES(1,zhaoyue),(2,jesse),(4,elain),(5,wodi),(6,yingsui),(7,zhangyang),(8,zaixiangpan),(9,?),(10,鑰佺敺瀛?),(11,鎴?);/server/bak/oldboy-gbk.sqlrootoldboy#egre

10、p-v*|-|$/server/bak/oldboy-gbk.sqlDROPTABLEIFEXISTStest;CREATETABLEtest(idint(4)NOTNULLAUTO_INCREMENT,namechar(20)NOTNULL,PRIMARYKEY(id)ENGINE=MyISAMAUTO_INCREMENT=12DEFAULTCHARSET=gbk;LOCKTABLEStestWRITE;INSERTINTOtestVALUES(1,zhaoyue),(2,jesse),(4,elain),(5,wodi),(6,yingsui),(7,zhangyang),(8,zaixi

11、angpan),(9,?),(10,老男孩),(11,我);/server/bak/oldboy-gbk-muli.sql提示:-B參數(shù)是關(guān)鍵,表示接多個(gè)庫(kù)。(生產(chǎn)環(huán)境常用)-B,-databasesTodumpseveraldatabases.Notethedifferenceinusage;Inthiscasenotablesaregiven.Allnameargumentsareregardedasdatabasenames.USEdb_name;willbeincludedintheoutput.參數(shù)說明:該參數(shù)用于導(dǎo)出若干個(gè)數(shù)據(jù)庫(kù),在備份結(jié)果中會(huì)加入U(xiǎn)SEdb_name和CREATE

12、DATABASEdb_name;-B后的參數(shù)都將被作為數(shù)據(jù)庫(kù)名。該參數(shù)比較常用。當(dāng)-B后的數(shù)據(jù)庫(kù)列全時(shí)同-A參數(shù)。請(qǐng)看-A的說明。4.8備份單個(gè)表mysqldump-u用戶名-p數(shù)據(jù)庫(kù)名表名備份的文件名mysqldump-uroot-poldboytestoldboy_oldboy.sql執(zhí)行結(jié)果:rootoldboy#mysqldump-uroot-poldboy123oldboytest-default-character-set=gbk/server/bak/oldboy-gbk-single.sql提示:無-B參數(shù),庫(kù)oldboy后面就是test表了。4.9備份多個(gè)表rootoldbo

13、y#mysqldump-uroot-poldboy123oldboytestett-default-character-set=gbk/server/bak/oldboy-gbk-muti-tables.sqlrootoldboy#egrep-v*|-|$/server/bak/oldboy-gbk-muti-tables.sqlDROPTABLEIFEXISTStest;CREATETABLEtest(idint(4)NOTNULLAUTO_INCREMENT,namechar(20)NOTNULL,PRIMARYKEY(id)ENGINE=MyISAMAUTO_INCREMENT=12DE

14、FAULTCHARSET=gbk;LOCKTABLEStestWRITE;INSERTINTOtestVALUES(1,zhaoyue),(2,jesse),(4,elain),(5,wodi),(6,yingsui),(7,zhangyang),(8,zaixiangpan),(9,?),(10,老男孩),(11,我);UNLOCKTABLES;DROPTABLEIFEXISTSett;CREATETABLEett( idint(11)DEFAULTNULL)ENGINE=MyISAMDEFAULTCHARSET=gbk;LOCKTABLESettWRITE;UNLOCKTABLES;4.1

15、0備份數(shù)據(jù)庫(kù)結(jié)構(gòu)(不包含數(shù)據(jù))mysqldump-uroot-d-poldboyoldboyoldboyoldboy_oldboy.sql-d只備份表結(jié)構(gòu)rootoldboy#mysqldump-uroot-poldboy123-doldboy/tmp/desc.sqlrootoldboy#egrep-v*|-|$/tmp/desc.sqlDROPTABLEIFEXISTSett;CREATETABLEett(idint(11)DEFAULTNULL)ENGINE=MyISAMDEFAULTCHARSET=gbk;DROPTABLEIFEXISTStest;CREATETABLEtest(id

16、int(4)NOTNULLAUTO_INCREMENT,namechar(20)NOTNULL,PRIMARYKEY(id)ENGINE=MyISAMAUTO_INCREMENT=12DEFAULTCHARSET=gbk;更多用法可以執(zhí)行mysqldumphelp查詢。有關(guān)mysql和mysqldump同學(xué)們要詳細(xì)總結(jié)。5恢復(fù)數(shù)據(jù)庫(kù)5.1source命令恢復(fù)進(jìn)入mysql數(shù)據(jù)庫(kù)控制臺(tái),mysql-uroot-pmysqluse數(shù)據(jù)庫(kù)然后使用source命令,后面參數(shù)為腳本文件(如這里用到的.sql)mysqlsourceoldboy_db.sql#這個(gè)文件是系統(tǒng)路徑。rootoldboybak

17、#mysql-uroot-poldboy123WelcometotheMySQLmonitor.Commandsendwith;org.skip.Typehelp;orhforhelp.Typectoclearthecurrentinputstatement.mysqluseoldboyDatabasechangedmysqlshowtables;+-+|Tables_in_oldboy|+-+|ett|test|+-+2rowsinset(0.00sec)mysqldroptablestest;QueryOK,0rowsaffected(0.01sec)mysqlsystemls.oldbo

18、y-gbk-muli.sqloldboy-gbk-single.sqloldboy.sqloldboy-gbk-muti-tables.sqloldboy-gbk.sqloldboy.sql.gzmysqlsource./oldboy.sqlselect*fromtest;+-+-+|id|name|+-+-+|1|zhaoyue|2|jesse|4|elain|5|wodi|6|yingsui|7|zhangyang|8|zaixiangpan|9|?|10|?|setnamesgbk;QueryOK,0rowsaffected(0.00sec)mysqlselect*fromtest;+-

19、+-+|id|name|+-+-+|1|zhaoyue|2|jesse|4|elain|5|wodi|6|yingsui|7|zhangyang|8|zaixiangpan|9|?|10|老男孩|=仍然是正常的,就是說備份不加字符集導(dǎo)出,將來恢復(fù)不會(huì)影響恢復(fù)的數(shù)據(jù),但是備份后查看文件會(huì)亂碼。|11|我|+-+-+10rowsinset(0.00sec)5.2mysql命令恢復(fù)(標(biāo)準(zhǔn))mysql-uoldboy-poldboyoldboysystemmysql-uroot-poldboy123oldboyoldboy-gbk.sqlselect*fromtest;+-+-+|id|name|+-

20、+-+|1|zhaoyue|2|jesse|4|elain|5|wodi|6|yingsui|7|zhangyang|8|zaixiangpan|9|?|10|老男孩|/data/backup/$(date+%F).tar.gz特別提示:有關(guān)MyISAM和InnoDB引擎的差別和在工作中如何選擇,在前面的文章已經(jīng)詳細(xì)講解過了,這里就不在講了。InnoDB引擎?zhèn)浞軮nnoDB引擎為行鎖,因此,備份時(shí)可以不對(duì)數(shù)據(jù)庫(kù)加鎖的操作,可以加選項(xiàng)-single-transaction進(jìn)行備份:mysqldump-A-F-B-single-transaction|gzip/data/backup

21、/$(date+%F).tar.gz特別注意:1)-single-transaction僅適用于InnoDB引擎。生產(chǎn)環(huán)境mysqldump備份命令mysqldumpurootpS/data/3306/mysql.sockdefault-character-set=gbksingle-transactionFBoldboy|gzip/server/backup/mysql_$(date+%F).sql.gz:注-F:刷新bin-log參數(shù),數(shù)據(jù)庫(kù)備份完以后,會(huì)刷新bin-log增量備份:更新bin-log:mysqladminurootpS/data/3306/mysql.sockflush-

22、logs如生成mysql-bin.文件把生成的最新mysql-bin.文件,CP到/var/backup/把二進(jìn)制的日志生成sql語(yǔ)句:mysqlbinlogmysql-bin.bin04.sql如果有多個(gè)庫(kù),我們應(yīng)該用-d來指定恢復(fù)單個(gè)庫(kù)mysqlbinlogmysql-bin.doldboybinlog.sql(當(dāng)然對(duì)于庫(kù)也要分庫(kù)備,否則恢復(fù)還是麻煩)還原數(shù)據(jù):先還原全備,再還原增備先還原全備:mysqlurootpmysqlfile.sql還原增備:mysqlurootpshowvariableslikemax_connections;+-+-+|Variable_name|Value|

23、+-+-+|max_connections|151|+-+-+1rowinset(0.00sec)服務(wù)器響應(yīng)的最大連接數(shù):152mysqlshowglobalstatuslikeMax_used_connections;+-+-+|Variable_name|Value|+-+-+|Max_used_connections|152|+-+-+1rowinset(0.00sec)查看服務(wù)器key_buffer_size數(shù)值:mysqlshowvariableslikekey_buffer_size;+-+-+|Variable_name|Value|+-+-+|key_buffer_size|+

24、-+-+1rowinset(0.00sec)查看服務(wù)器現(xiàn)在使用的key_buffer_size使用情況:key_read_requests:key-reads:mysqlshowglobalstatuslikekey_read%;+-+-+|Variable_name|Value|+-+-+|Key_read_requests|Key_reads|+-+-+2rowsinset(0.00sec)計(jì)算索引未命中的概率:key_cache_miss_rate=key_reads/key_read_requests*100%達(dá)到0.1%以下(即每1000個(gè)請(qǐng)求有一個(gè)直接讀硬盤)以下都很好,如果key

25、_cache_miss_rae在0.01%以下的話,則說明key_buffer_size分配得過多,可以適當(dāng)減少。Key_blocks_unused表示未使用的緩存簇?cái)?shù),Key_blocks_used表示曾經(jīng)用到的最大的blocks數(shù),比如這臺(tái)服務(wù)器,所有的緩存都用到了,要么增加key_buffer_size,要么就是過度索引,把緩存占滿了。比較理想的設(shè)置是:key_blocks_used/(key_blocks_unused+key_blocks_used)*100%=80%mysqlshowglobalstatuslikekey_blocks_u%;+-+-+|Variable_name|

26、Value|+-+-+|Key_blocks_unused|Key_blocks_used|6439|+-+-+2rowsinset(0.00sec)臨時(shí)表:當(dāng)執(zhí)行語(yǔ)句時(shí),關(guān)于已經(jīng)被創(chuàng)造了的隱含臨時(shí)表的數(shù)量,我們可以用如下命令查詢其具體情況:mysqlshowglobalstatuslikecreated_tmp%;+-+-+|Variable_name|Value|+-+-+|Created_tmp_disk_tables|Created_tmp_files|172|Created_tmp_tables|+-+-+3rowsinset(0.00sec)每次創(chuàng)建臨時(shí)表時(shí),created_tmp

27、_tables都會(huì)增加,如果是在磁盤上創(chuàng)建臨時(shí)表,created_tmp_disk_tables也會(huì)增加。created_tem_files表示MYSQL服務(wù)創(chuàng)建的臨時(shí)文件數(shù),比較理想的配置是:Created_Tmp_disk_tables/Created_tmp_tables*100%showvariableswhereVariable_namein(tmp_table_size,max_heap_table_size);+-+-+|Variable_name|Value|+-+-+|max_heap_table_size|tmp_table_size|+-+-+2rowsinset(0.0

28、0sec)只有16M以下的臨時(shí)表才能全部放在內(nèi)存中,超過的就會(huì)用到硬盤臨時(shí)表。打開表的情況Open_tables表示打開表的數(shù)量,Opend_tables表示打開過的表數(shù)量,我們可以用如下命令查看其具體情況:mysqlshowglobalstatuslikeopen%tables%;+-+-+|Variable_name|Value|+-+-+|Open_tables|512|Opened_tables|+-+-+2rowsinset(0.00sec)如果Opened_tables數(shù)量過大,說明配置中tables_caceh(MYSQL5.1.3之后這個(gè)值叫做table_open_cache)

29、的值可能太小。我們查詢一下服務(wù)器table_cache值:mysqlshowvariablesliketable_open_cache;+-+-+|Variable_name|Value|+-+-+|table_open_cache|614|+-+-+1rowinset(0.00sec)比較合適的值為:Open_tables/Opened_tables*100%=85%Open_tables/table_open_cache*100%showglobalstatuslikeThread%;+-+-+|Variable_name|Value|+-+-+|Threads_cached|7|Thre

30、ads_connected|2|Threads_created|2124|Threads_running|2|+-+-+4rowsinset(0.00sec)如果發(fā)現(xiàn)Threads_created的值過大的話,表明MYSQL服務(wù)器一直在創(chuàng)建線程,這也是比較耗費(fèi)資源的,可以適當(dāng)增大配置文件中的thread_cache_size的值。查詢服務(wù)器thread_cahce_size配置,如下所示:mysqlshowvariableslikethread_cache_size;+-+-+|Variable_name|Value|+-+-+|thread_cache_size|8|+-+-+1rowins

31、et(0.00sec)查詢緩存它涉及的主要有兩個(gè)參數(shù),query_cache_size是設(shè)置MYSQL的Query_Cache大小,query_cache_size是設(shè)置使用查詢緩存的類型,我們可以用如下命令查看其具體情況:mysqlshowglobalstatuslikeqcache%;+-+-+|Variable_name|Value|+-+-+|Qcache_free_blocks|130|Qcache_free_memory|Qcache_hits|Qcache_inserts|Qcache_lowmem_prunes|0|Qcache_not_cached|Qcache_querie

32、s_in_cache|676|Qcache_total_blocks|1798|+-+-+8rowsinset(0.00sec)我們?cè)俨樵円幌路?wù)器上關(guān)于query-cache的配置命令如下:mysqlshowvariableslikequery_cache%;+-+-+|Variable_name|Value|+-+-+|query_cache_limit|query_cache_min_res_unit|4096|query_cache_size|query_cache_type|ON|query_cache_wlock_invalidate|OFF|+-+-+5rowsinset(0.0

33、0sec)排序使用情況它表示系統(tǒng)中對(duì)數(shù)據(jù)進(jìn)行排序時(shí)所使用的Buffer,我們可以用如下命令查看:mysqlshowglobalstatuslikesort%;+-+-+|Variable_name|Value|+-+-+|Sort_merge_passes|84|Sort_range|Sort_rows|Sort_scan|+-+-+4rowsinset(0.00sec)Sort_merge_passes包括如下步驟:MYSQL首先會(huì)嘗試在內(nèi)存中做排序,使用的內(nèi)存大小由系統(tǒng)變量sort_buffer_size來決定,如果它不夠大則把所有的記錄都讀到內(nèi)存中,而MYSQl則會(huì)把每次在內(nèi)存中排序的結(jié)果存到臨時(shí)文件中,等MYSQL找到所有記錄之后,再把臨時(shí)文件中的記錄做一次排序。這次再排序就

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論