Linu運維從入門到高級全套案例v_第1頁
Linu運維從入門到高級全套案例v_第2頁
Linu運維從入門到高級全套案例v_第3頁
Linu運維從入門到高級全套案例v_第4頁
Linu運維從入門到高級全套案例v_第5頁
已閱讀5頁,還剩202頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

全套案例vLinux是一套免費使用和自由傳播的類Unix操作系統(tǒng),是一個基于POSIXU ?穩(wěn)定、免費或者花費少?安全性高?多任務(wù),多用戶?耗資源少年據(jù)有關(guān)權(quán)威部門統(tǒng)計:將來幾年內(nèi)我國軟件行業(yè)的從業(yè)機會十分龐的就業(yè)前景,更是廣闊;據(jù)悉在未來5-10年內(nèi)Linux專業(yè)人才的需求將達到所以機會對每個人都是公平的,關(guān)鍵是我們每個人如何去行動,選擇大于區(qū)為(根分區(qū)/、swap分區(qū)),Linux系統(tǒng)以文件的存儲方式,所有的文件都是分區(qū)。雖然現(xiàn)在各種發(fā)行版本的Linux已經(jīng)提供了友好人還是感覺無從下手。這其中的原因主要是不清楚在Linux中規(guī)定,每一個硬盤設(shè)備最多只能有4個主分區(qū)(其中包含擴展分區(qū))構(gòu)成,任何一個擴展分區(qū)都要占用一個主分區(qū)號碼,也就是在一個硬盤?VMwareworkstation?CentOS第三步選擇“稍后安裝操作系統(tǒng)”,如下圖:(1024M)。側(cè)選擇“開發(fā)“----右側(cè)選擇”開發(fā)工具“和建Linux下常見的各種服務(wù)(DHCP、SAMBA、DNS、能夠熟練的搭建服務(wù)后,理解每個服務(wù)的完整配置和優(yōu)化,可以拓展思LAMP分開多臺該如何l遍,從中吸取,不斷提高。建立一個自己的學(xué)習(xí)博客,把平時工作學(xué)習(xí)中的知識都記錄在里面,這樣也可以供別人來參考同時也能提高自己的編寫文檔及方案的能力。2.1Linux系統(tǒng)管理Linux錄初識linux目錄結(jié)構(gòu)如下:(附圖表)nboot的文件chome戶數(shù)據(jù)存放在其主目錄中bproc息otinvar錄Linux用命令樣的字符:[root@localhost~]#,其中#代表cd/root進入/root目錄;cd../返回上一級目錄;cd./當前目錄;(.mkdirmkdirtest后接目錄的名稱。rmdir刪除空目錄cp拷貝文件,用法,cp/tmp/,常用來備份;如果拷貝目錄mv重命名或者移動文件或者目錄,用法,mv可以在文件里寫入字符等等信息。存退出。cat文件內(nèi)容,用法cat可以看到內(nèi)容,當然還有很多深入的命令需要學(xué)習(xí),后面Linux戶權(quán)限administrator,擁有最高權(quán)限,能執(zhí)行任何命令和操作。在系統(tǒng)中,通過UID每一個文件或者目錄的權(quán)限,都包含一個用戶權(quán)限、一個組的權(quán)限、其他人權(quán)限,例如下:[root@node1~]#ls-l-rw-r--r--1rootroot91May720:21如果我們想改變某個文件的所有者或者所屬的組,可以使用命令chown[root@node1~]#ls-l-rw-r--r--1rootroot91May720:21如果給某個文件授權(quán),命令為chmod:chmod777Linux網(wǎng)絡(luò)配置xLinux服務(wù)器默認網(wǎng)卡配置文件在/etc/sysconfig/network-scripts/IP,可以使用命令:vi/etc/sysconfig/network-#AdvancedMicroDevices[AMD]79c970[PCnet32LANCE]DEVICE=eth0BOOTPROTO=dhcpHWADDR=00:0c:29:52:c7:4eONBOOT=yesTYPE=Ethernet#AdvancedMicroDevices[AMD]79c970[PCnet32LANCE]DEVICE=eth0BOOTPROTO=staticHWADDR=00:0c:29:52:c7:4eONBOOT=yesTYPE=EthernetNETMASK=GATEWAY=DEVICE=eth0#物理設(shè)備名ONBOOT=yes#[yes|no](重啟網(wǎng)卡是否激活設(shè)備)BOOTPROTO=static#[none|static|bootp|dhcp](不使用協(xié)議|靜態(tài)分配|BOOTPTYPE=Ethernet#網(wǎng)卡類型MASK/etc/文件:er已經(jīng)差不多入門ux3.1Linux服務(wù)部署NTP用的,可以保證局域網(wǎng)所有的服務(wù)器與時間服務(wù)器的時間保持一致,某些應(yīng)用對時間實時性要求高的必須統(tǒng)一-AINPUT-mstate--stateNEW-mudp-pudp--dport123-jACCEPTnstallntpntpdatey配置文件fudgestratum10/etc/ntpdstart即可dnoserversuitableforsynchronizationfound”錯誤。)crontab-eptpdriftrictdefaultkodnomodifynotrapnopeernoqueryestrictdefaultkodnomodifynotrapnopeernoqueryrestrict-6::1fudgestratum10ntpkeysNTP要求封包#開啟內(nèi)部遞歸網(wǎng)絡(luò)接口lo以進行網(wǎng)絡(luò)校trictdefaultignorectmasknomodify所花費的時tpdrifttdelay*/usr/sbin/ntpdate>>/data/logs/2>&1DHCP(DynamicHostConfigurationProtoco動態(tài)主機配置協(xié)議)是一個ddns-update-styleinterim;ignoreclient-updates;next-server;filename"";allowbooting;allowbootp;kgatewayaskonnisdomainoptiondomainname"";iondomainnameserversonntpservers#optionnetbios-name-servers;Selectspointtopointnodedefaultishybrid.Don'tnderstandNetbiosverywelltionnetbiosnodetypeicbootp;hostns{hardwareethernetaa2b:38:81;}選選項datestyleinterimadenext-serverip安essmeastaddressverIPt間,單位是秒ROTOdhcp(ServerMessagesBlock,信息服務(wù)塊)是一種在上共享文件和打印機的一種,它為局域網(wǎng)內(nèi)的不同計算機之間提供文件及打印機等資源的共享服務(wù)。SMB協(xié)議是客戶機/服務(wù)器型協(xié)議,客戶機通過該協(xié)議可以訪問服務(wù)器上的共享文件系統(tǒng)、及其他資源。通過設(shè)置“NetBIOSoverTCP/IP”使得Samba不但能與局域網(wǎng)絡(luò)主機分享資源,還能與全世界的電腦分享資源。Yuminstallsamba–y安裝完畢,然后做如下設(shè)置(過濾#號行、空行如下命令)cp/etc/samba//etc/samba/;egrep-v"#|^$"/etc/samba/|grep-v"^;">/etc/samba/workgroup=MYGROUPserverstring=SambaServerVersion%vsecurity=sharepassdbbackend=tdbsamloadprinters=yescupsoptions=rawcomment=Temporaryfilespacepath=/tmpreadonly=nopublic=yescomment=Temporaryfilespacepath=/datareadonly=nopublic=yes[root@node1~]#/etc/smbrestartShuttingShuttingStartingStartingdownSMBservices:downNMBservices:SMBservices:NMBservices:workgroup=SambaServer串,也可以不rsionv2.user:SambaServer共享目錄只能被授權(quán)的用戶訪問,由SambaServer負責檢查賬號和密碼的正確性。賬rdomain主域控制器(PDC)來完成path=blewritable=ilableadminusers=該共享的管理者validusers=writelist=icyesnoigselinuxNFSNetworkFileSystem的縮寫,即網(wǎng)絡(luò)文件系統(tǒng)。一種使用于分散式文件系統(tǒng)的協(xié)定,享個別的數(shù)據(jù),讓應(yīng)用程序在客戶端通過網(wǎng)絡(luò)訪問位于服務(wù)器磁盤中的數(shù)據(jù),是在類Unix系統(tǒng)間實現(xiàn)磁盤文件共享的一種方法。NFS傳送過程中依賴于RPC協(xié)議。RPC,遠程過程調(diào)用(RemoteProcedureCall)是能使客戶端執(zhí)行其他系統(tǒng)中程序的一種機制。NFS本身是沒有提供信息傳輸?shù)膮f(xié)議和功能NFS共享,多臺服務(wù)器共享同樣的數(shù)據(jù),可擴展性比較差,本身高可用方案不完善,取而代之的數(shù)據(jù)量比較大的可以采用MFS、TFS、HDFS等等分布式文件系統(tǒng)。Yuminstallnfs*portmap-y如下圖,安裝成功即可。NFS安裝完畢,需要創(chuàng)建共享目錄,共享目錄在/etc/exports文件里面配置,可配置參數(shù)如/data/(rw,sync,no_hide,no_all_squash)restart;/etc/nfsrestart第一列/data/表示需要共享的目錄。IP文件的權(quán)限。讀寫訪問hideno_hide所有數(shù)據(jù)在請求時寫入共享squashno_all_squashroot_squashno_root_squasroot用戶的所有請求映射成如anonymous用戶一樣的權(quán)限(默認)root用戶具有根目錄的完全管理訪問權(quán)限Linux客戶端,如何想使用這個NFS文件系統(tǒng),需要在客戶端掛載,掛載命令為:Mount–tnfs:/data//mnt即可。如果有報錯根據(jù)錯誤信息排查。常見問題有rpc服務(wù)沒有啟動、防火墻沒關(guān)閉、selinux未關(guān)閉等問題。(拓展*有興趣的童鞋可以研究MFS(分布式文件系統(tǒng))。)FTPFTP于這種協(xié)議使得間可以共享文件。FTP使用生成一個虛擬連接用于控制信息,然后再生成一個單獨的TCP連接用于。vsftpdFTP務(wù)器程序;特點是小巧輕快,安全易用;能讓其自身和掌握。目前在開源操作系統(tǒng)中常用的FTP服務(wù)器程序主要有vsftpd、ProFTPD、PureFTPd和wuftpd等,這么多FTP服務(wù)器程序,關(guān)鍵在于自己熟練哪一個就使用哪一個。今天我們來研究一下VSFTPD簡單安裝及使用。安裝命令:yuminstallvsftpd*-yvsftpdconfig2014bywugkanonymousenableNO線程共享內(nèi)存空間,所以一個程序在運行時必?源碼安裝ApachelomLoglogsaccesslogcommonDocumentRootdatawebappswww"verNameDirectorydatawebappswwwllowOverrideAllexesFollowSymLinksdenyAllowfromallErrorLoglogs/error_logomLoglogsaccesslogcommonleconfigure--prefix=/usr/local/mysql--enable-sqlsharemysqletcysqlsharemysqletcmysqldysqldonmysqllmysqllocalmysqlbinmysqlinstalldbusermysqlusrlocal/mysql/bin/mysqld_safe-rmysqlklegesontestdbgrantallontestdbtotidentifiedbyntifiedbygrantselectinsertupdatedeleteontotest”identifiedesabasetestdbbletestfromtestleslikecharf.1.6LAMP架構(gòu)網(wǎng)站搭建Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一組常用來搭建或者服務(wù)器的,本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越隨著開源潮流的蓬勃發(fā)展,開放源的LAMP已經(jīng)與和形成三足鼎立之勢,并且該軟件開發(fā)的項目在軟件方面的投資成本較低,因此受到整個界的關(guān)注。yuminstallhttpdhttpd-develmysql-servermysql-develphpphp-develphp-mysql–yetallaprdevelaprutildevelyysqlenableassemblermakemakeinstallcqldlcdusrsrcwgettarjxfcd./configure--prefixusrlocalphpwithconfigfile-path=/usr/local/php/etc-withapxsusrlocalapachebinapxswith-mysql=/usr/local/mysql/AddTypeapplication/x-httpd-php.phpF>discuzcharsetutfgrantallondiscuztorootlocalhostidentifiedby56";3.1.7Cacti監(jiān)控平臺搭建要實時監(jiān)控網(wǎng)站、服務(wù)器的運行狀態(tài),這時需要借助開源軟件(cacti、nagios、zabbix等)監(jiān)控來實現(xiàn)。然后用儲存和更新數(shù)據(jù),當用戶需要查看數(shù)據(jù)的時候用生成圖表呈現(xiàn)給用戶。make&&makeinstall;ln-yuminstallnet-snmpnet-snmp-utils–yctiyes3.1.8Nagios監(jiān)控平臺搭建Unix,打印機等。在系統(tǒng)或服務(wù)狀態(tài)異常時發(fā)出郵件或短信報警第一時間通知網(wǎng)站運維人員,在狀態(tài)恢復(fù)后發(fā)出正常的郵件或短etxvfprefixusrlocalnagioswithcommandgroupnagiosmakeallmakeinstallNagios試訪問Nagios可執(zhí)行程序所在目錄Nagios配置文件所在目錄NagiosCGI文件所在目錄,也就是執(zhí)行外部命令所需文件所在的目錄Nagios外部插件所在目錄ivesNagios日志自動歸檔目錄令文件的目錄usrlocalnagiosbinnagiosvusrlocalnagiosetc/沒有}useraddnagios;tar-xzf&&cd&&./configure–tar-xzf&&cd&&./configure--enable-ssl--with-ssl-lib&&makechownchown-Rnagios:nagios/usr/local/nagios/;cd..;cp/usr/local/nagios/etc/修改vi/usr/local/nagios/etc/修改默認配置段的內(nèi)容如下,去掉#號,做相應(yīng)修command[check_users]=/usr/local/nagios/libexec/check_users-w5-c1030,25,20/dev/sda2command[check_load]=/usr/local/nagios/libexec/check_load-30,25,20/dev/sda2command[check_disk]=/usr/local/nagios/libexec/check_disk-w20-c10-pcommand[check_procs]=/usr/local/nagios/libexec/check_procs-w50-c100command[check_swap]=/usr/local/nagios/libexec/check_swap-w20-c10Nagios也需要安裝nrpe,同時需要定義Nrpe監(jiān)控命令,寫末尾即可:definecommand{command_namecheck_nrpecommand_line$USER1$/check_nrpe-H$HOSTADDRESS$-c$ARG1$}d}oadheckload客戶端里面添加的監(jiān)控命令,都可以在服}psATM139上綁定好手機即可。除此之外還可以使用短信貓(收費)設(shè)備來發(fā)送報3.1.9Kickstart自動化安裝平臺linux省一次一次的時間豈不更大中型互聯(lián)網(wǎng)公司一次采購服務(wù)器上百臺,如果采用人工手動一臺一臺的安我們可以看到全人工來完成這樣的工作太浪費人力了,有沒有自動化安裝平臺呢,PXEprebootexecuteenvironment執(zhí)行環(huán)境)是由開發(fā)的最新技啟動過程中,終端要求服務(wù)器分配地址,再用(trivialfiletransferprotocol)協(xié)議下載一個啟動包到本機內(nèi)存中執(zhí)HCPNFSTFTPPXEe{}mountdevcdrom/mnt掛載本地光盤usrlibsyslinuxebootvmlinuzmkdirp&&cp/mnt/isolinux/default時候會根據(jù)這個文件的配置啟動相應(yīng)的prompt1timeoutinuzappendksnfscentosinstallksdeviceethinitrd=inuznitrdtextinuzinitrdlocalboot1estappend–tgtftplevelonservicexinetdrestartpdl*(rw,sync),表示允許任何主機訪問/centosinstall目錄,有讀寫權(quán)限。貝/root/目錄下重命名為,并把拷貝至剛共享的/centosinstall目錄下,賦權(quán)限為chmodalslopmentlibsenttoolsolsbasexupportoolshverXnestverXvfb碼;后寫入客戶機系統(tǒng)需要安裝的軟件包,可以自己定制。更多詳細的參數(shù)在此就不做過多后寫入客戶機系統(tǒng)需要安裝的軟件包,可以自己定制。更多詳細的參數(shù)在此就不做過多的明了,可以進一步學(xué)習(xí)。在真實環(huán)境中,通常我們會發(fā)現(xiàn)一臺服務(wù)器好幾塊硬盤,做完raid,整個硬盤有等TMBRGPT需要在末尾添加如下命令來實現(xiàn)需求:parted-s/dev/sdbmklabelgptnext-server;subnetnetmask{aultgatewaykrangedynamic-bootp;;;hostns{hardwareethernetaa:2b:38:81;fixed-address;}}RTLinux4.1LinuxShell編程.1Shell編程簡介l的任何結(jié)果輸出來管理您與操作系統(tǒng)之間的交互。Linux日常工作頻繁,所以如果單靠手工去敲打命令是非常困難的,所以學(xué)會SHELL是每個LinuxSA必備的功課。/bin/sh)、BourneAgainShell(/bin/bash)、CShell(/usr/bin/csh)、KShellusrbinksh、ShellforRoot(/sbin/sh)等。不同的Shell語isismyFirstshelldbinbashbinsh一.2Shell變量設(shè)置SHELL為兩類:局部變量和環(huán)境變量。局部變量只在創(chuàng)建它們的#!/bin/bash#Authorwugk2014-06-10A=123echo“Printfvariablesequalis$A”Printfvariablesequalis123,引用的時候加上$符號就可以guangke4.1.3Shell流程控制語句se好,對提升腳本的功力有非常大的幫助。下面將逐個來講解具體的用法:numisNUMgreater案例二,測試目錄是否存在,不存在則新建(注意,中括號之間必須要空格)irexistmkdirp/data/DIRisexistPleaseexit-f判斷文件是否存在eg:if[-ffilename]-d判斷目錄是否存在eg:if[-ddir]-eq-ltt-lee-a雙方都成立(and)邏輯表達式–a邏輯表達式-o單方成立(or)邏輯表達式–o邏輯表達式-z空字符串liflifscoresthenfscoresgtthenFor變量in字符串qecho“NUMis$i”while條件語句leiltdolereadlineuntil條件rloguntil$a-lt0]];domonitor_logveloghivelog*)agemonitorlogarchiveloghelpu.4Shell腳本案例a)自動刪除文件腳本首先命名腳本名稱為(名稱可以自己定義),內(nèi)容如下:Rkdirpabcrmrf$FILESlScriptsexecsuccessfullyusetherootuserrDIRusrbinmysqldumpuMYSQLUSRpMYSQLPWdMYSQLDB>$BAKDIR/echo"Themysqlbackupsuccessfully"rwugkSDIRriptsexecendFilestarsuccessfullyogsecuregrepFailedpasswordegrepo}\.){3}[0-9]{1,3}"|sort-nr|uniq-c|awk'$1>=4printes+welcometousesshlogindropfailedp+++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------+++forjjjdoechon--------";sleep1;doneRLECONFgrepidevnulldiloaAINPUTsimstatestateNEWmtcpptcpIPTABLECONF信息即可echo"Thisis$iisexistiniptables,pleaseexit......"esrestart.5Shell數(shù)組編程數(shù)組,就是相同數(shù)據(jù)類型的元素按一定順序排列的集合,就是把有限個類型相同的變量用一個名字命名,然后用編號區(qū)分他們的變量的集合,這個名字今天這里我們來探討一維數(shù)組的定義、統(tǒng)計、引用和刪除等操作。首先來定義A=(test1test2test3),定義數(shù)組一般以括號的方式來定義,數(shù)組的值可以隨機定義。如何來引用呢echo${A[0]},代表引用第一個數(shù)組變量,結(jié)果會顯示test1,數(shù)組引用從0次類推。echo${A[1]},代表引用第二個數(shù)組變量,結(jié)果會顯示test2,數(shù)組引用也是VMVirtualizationonfigbondscripts{ETWORKHWADDRifconfigethegrep"HWaddr|Bcast"|tr"\n"""|awkgethegrepHWaddrBcasttrnawkNETMASKifconfigeth0|egrep"HWaddr|Bcast"|tr"\n"""|awkGATEWAYroutengrep"UG"|awk'{print$2}'`)EbondROTOstaticrnetMCONTROLLEDno用,這樣讓腳本可讀性更強,更服務(wù)器。目前互聯(lián)網(wǎng)主流公司360、百度、新浪、騰訊、阿里等都在使用nginx 中所配置的每個指令將會啟動不同的模塊去完成相應(yīng)的工作。4)功能較Apache少(常用功能均有)NginxWEB安裝路徑,否則會報錯(make[1]:***[/usr/local/pcre/Makefile]Error127錯誤)cdsediesesnginxconfigureuserwww--group=www--prefix=/usr/local/nginx--with-ttpstubstatusmodulewithhttpsslmodulemake,執(zhí)行makeinstall正式安裝makeinstallxtnginxtheconfigurationfileusrlocalnginxconfsyntaxisoknginxconfigurationfileusrlocalnginxconftestissuccessfulootlocalhostnobody2850May16root285102014xworkerprocessxmasterprocessnginxsbinnginxroot032220012:34pts/000:00:00grepnginx5.1.2Nginx虛擬主機配置務(wù)器環(huán)境,為了充分利用服務(wù)器資源,一臺nginxweb服務(wù)器#virtualhostsconfig2014/5/18server{listen80;server_name#access_loglogs/main;location/{roothtml/a;index;}server{listen80;server_name#access_loglogs/main;location/{roothtml/b;index;}ginx隨著訪問量的不斷增加,需要對Nginx和內(nèi)核做相應(yīng)的優(yōu)化來滿足高并發(fā)rprocessesaffinity0010000001000000;mitnofileulimitnnginxnginx分配請求并不是那么nnnections=1workerprocessesworker_connections。eepalivetimeoutbuffersizek以根據(jù)你的系統(tǒng)分頁大小來設(shè)置,一般openfilecachemaxinactivesilecachevalidsopen_file_cache_min_uses1;中打開的,如上例,如果有一個文件在=1=15.1.4Nginx參數(shù)深入理解1)輪詢(默認rr)3)ip_hash4)fair(第三方)5)url_hash(第三方)upstreamtdt_app{eightmaxfailsfailtimeoutseightmaxfailsfailtimeouts}proxy_connect_timeout:Nginx與后端服務(wù)器連接的超時時間,發(fā)起握手等候響應(yīng)超時時proxy_read_timeout:連接成功后_等候后端服務(wù)器響應(yīng)時間,其實已經(jīng)進入后端的排隊之中等候處理(也可以說是后端服務(wù)器處理請求的時間)。proxy_send_timeout:后端服務(wù)器數(shù)據(jù)回傳時間,在規(guī)定時間之內(nèi)后端服務(wù)器必須傳完所有5.1.5NginxRewrite規(guī)則者對搜索引擎友好,提高收錄量及排名等。break終止匹配,不再匹配后面的規(guī)則3)redirect:返回302臨時重定向,瀏覽器地址會顯示跳轉(zhuǎn)后的URL地址4)permanent:返回301永久重定向,瀏覽器地址欄會顯示跳轉(zhuǎn)后的URL地址a)例如用戶訪問,想直接跳轉(zhuǎn)到網(wǎng)站下面的某個頁面,如何來實現(xiàn)呢e{server_name;}持同步一致性,第一次同步時rsync會復(fù)制全部內(nèi)容,但在下一次只傳輸修改Rsync在傳輸數(shù)據(jù)的過程中可以實行壓縮及操作,因此可以使用更少的帶Rsync服務(wù)端配置cd/usr/src;wgettarxzf&&cd&&./configure--prefix=/usr/local/rsync&&make&&makeinstall######[global]全局配置uid=nobodygid=nobodyusechroot=nomaxconnections=30pidfile=/var/run/lockfile=/var/run/logfile=/var/log/transferlogging=yeslogformat=%t%a%m%f%bsyslogfacility=local3timeout=300readonly=yespath=/usr/local/webappscomment=wwwauthusers=testsecretsfile=/etc/hostsallow=,adonlyyeshdatawwwwebsthostsallow/24pathusrlocalwebapps要同步的目錄readonly=nowriteonly=no模塊名一直)cnusernameuserpasswd名:密碼)cRsync-aP--deletetest@::www/usr/local/webapps--password-歸方式傳輸文件,并保持所有aarchive除一個不需要傳輸?shù)奈募ヅ淠J紽ILE除規(guī)則文件匹配模式刪除那些接收端還有而發(fā)送端已經(jīng)不存在的文件vverboseqquiet––rsyncpath=PROGRAMartialprogressrsync令所在路徑cronrsync服務(wù)器時使用rsync-aP--delete/data/www/webapps,如果想每次同步不輸5.2.3Rsync實時同步配置呢如何來實現(xiàn)呢這里可以采用rsync+inotify來實現(xiàn)#!/bin/shsrc=/data/webapps/wwwdes=/home/webapps/inotifywait-mrq--timefmt'%d/%m/%y-%H:%M'--format'%T%w%f'-emodify,delete,create,attrib${src}|whilereadfileforiin$ip/usr/local/rsync/bin/rsyncroot@$ip:$des-aP--delete$srcTomcat安裝配置exportJAVA_HOME=/usr/java/exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libexportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/binxusrlocalresinnlogdatalogsresinwithjavahomeusrjavamake&&makeinstall然后啟動resin,/usr/local/resin/bin/start測試成功訪問如下圖(發(fā)布esin大最小內(nèi)存,會話保持時間及并發(fā)數(shù)等如下所示:<httpaddress="*"port="8080"/><!--SSLportconfiguration:--><httpaddress="*"port="8443"><jsse-sslself-signed-certificate-name="resin@localhost"/>/http><jvm-arg>-Xms4000m</jvm-arg>mxmjvmargmnmjvmargXXPermSizemjvmargXXMaxPermSizemjvmargreadmaxutssockettimeoutkeepalivemaxmeoutskeepalivetimeouttlibresinjvmarginResin多實例配置cdusrlocalresinconf后cp;cpusrlocalresinbinconfusrlocalresinconf-server1startusrlocalresinbinconfusrlocalresinconf-server2startNginx單純的把動態(tài)頁面和靜態(tài)頁面物理分離。嚴格意義上說應(yīng)該是動態(tài)請求跟靜態(tài)請求動靜分離從目前實現(xiàn)角度來講大致分為兩種,一種是純粹的把靜態(tài)文件獨立成單獨的域名,放在獨立的服務(wù)器上,也是目前主流推崇的方案;另外一種方法就是動態(tài)跟靜態(tài)文件混合在一起發(fā)布,通過nginx來分開。這樣也是本次,如果有修改,則直接從服務(wù)器重新下載,返回狀態(tài)碼200。####{server_nameindex;datawww/wugk{rtimeoutinvalidheaderteaddrdxforwardedforproxy_pass;d}{teaddrdxforwardedforproxy_pass;}location\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$L{力expiresd}}現(xiàn)PHP(FastCGI)模式會出現(xiàn)一些502錯誤的現(xiàn)象,這是因為Nginx+PHP (FastCGI)組合不穩(wěn)定的原因造成的。xyuminstallprce-devel–y;cd/usr/src;wget;cd;./configure–tallaprdevelaprutildevelykecdusrsrcwgettarxzfcd/configure--prefixusrlocal/mysql--enable-assembler&&make&&makeinstallsqlsharemysqletcysqlsharemysqletcmysqldysqldonmysqllmysqllocalmysqlbinmysqlinstalldbusermysqlusrlocal/mysql/bin/mysqld_safe-rmysqlAddTypeapplication/x-httpd-php.phpF>discuzcharsetutfgrantallondiscuztorootlocalhostidentifiedby56";upstreamapp_lamp{}location/{tusrlocalapachehtdocsindex;}{proxysetheaderHosthost;proxysetheaderXRealIPremote_addr;proxysetheaderXForwardedForproxyaddxforwarded_for;proxy_pass;}{usrlocalapachehtdocs}}5.6構(gòu)建DNS域名解析服務(wù)器我們每天打開的網(wǎng)站,他是如何來解析,并且我們怎么能得到網(wǎng)站的內(nèi)容DNS(DNS(DomainNameservice,域名服務(wù),主要上作為域名和IP地址相互映射)那今天我們將來學(xué)習(xí)DNS服務(wù)器的器返回給本地域名服務(wù)器一個能夠解析請求的根的下一級域名服務(wù)器的地址,bindyuminstallbind-yoptions{rtanyvportanyeddatamemstatisticsfile/var/named/data/";allowquery{any;};ionyesnyesutoPathtoISCDLVkey*/bindkeysfileetc;managedkeysdirectory/var/named/dynamic";logging{channeldefault_debug{zone"."IN{3)修改vi/etc/配置文件(用于定義根區(qū)域和自定義區(qū)域),添加如下兩段ywugkzone""IN{allowupdatenone;};zone""IN{allowupdatenone;};4)在/var/named/目錄添加如下文件:@INSOAroot(rial@ww@@INSOAroot(rialLMySQL本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而習(xí)MySQL主從復(fù)制高可用如何來實現(xiàn)。Mysql主從同步其實是一個異步復(fù)制的過程,要實現(xiàn)復(fù)制首先需要在master上開啟a)在從服務(wù)器執(zhí)行slavestart,從服務(wù)器上IO線程會通過授權(quán)的用戶連接上master,master-info文件中,以便在下一次讀取的時候能夠清楚的告訴Master“我需要從某ylogyuminstall-ymysqlmysql-develmysql-servermysql-libsdatadir=/data/mysqlsocket=/var/lib/mysql/user=mysql#Disablingsymbolic-linksisrecommendedtopreventassortedsecurityriskssymbolic-links=0log-bin=mysql-binserver-id=1auto_increment_offset=1auto_increment_increment=2log-error=/var/log/pid-file=/var/run/mysqld/創(chuàng)建/data/mysql數(shù)據(jù)目錄,mkdir–p/data/mysql;chown–Rmysqld:mysqld/data/mysqldatadir=/data/mysqlsocket=/var/lib/mysql/user=mysql#Disablingsymbolic-linksisrecommendedtopreventassortedsecurityriskssymbolic-links=0log-bin=mysql-binserver-id=2auto_increment_offset=2auto_increment_increment=2log-error=/var/log/pid-file=/var/run/mysqld/master-host=master-user=tongbumaster-pass=123456master-port=3306master-connect-retry=60grantreplicationslaveon*.*to'tongbu'@'%'identifiedby'123456';mysql>showmasterstatus;+|---|----+----------|+--------------+---|---------------++------------------+----------+--------------+------------------+1rowinsetsec)changemastertomaster_host='',master_user='tongbu',master_password='123456',master_log_file='',master_log_pos=98;?MySQL+keepalived高可用配置advert_int5cdconfigurewithkerneldirusrsrckernelsmakemakeinstallDIRusrlocal;cp$DIR/etc/keepalived/etc/csysconfigkeepalivedetcsysconfigmkdirpvedpalivedusrsbindglobal_defs{notification_email{}icationemailfromeoutVSDEVEL}vrrp_instanceVI_1{virtual_router_id151priority100authentication{ass}virtual_ipaddress{}}virtual_server3306{laylooppersistencetimeout60olTCPreal_server3306{weight100ydowndatashTCP_CHECK{connecttimeout10nb_get_retry3t}}}epalivedwgetwget-cuxglobal_defs{notification_email{}icationemailfromeoutdLVSDEVEL}vrrp_instanceVI_1{hvirtualrouter_id51priority100advert_int5authentication{SSauthpass1}virtual_ipaddress{}}virtual_server80{delaylooppersistence_timeout60ocolTCPreal_server80{weight100TCP_CHECK{connecttimeout10nb_get_retry3delay_before_retry3ort}}real_server80{weight100TCP_CHECK{connecttimeout10nb_get_retry3delay_before_retry3ort}}}globalglobal_defs{ionemail}icationemailfromVSDEVEL}vrrp_instanceVI_1{virtualrouteridytintauthentication{}virtual_ipaddress{}}}#REAL_SERVER_1alserverstencetimeoutolTCPserverweight0TCP_CHECK{try}}#REAL_SERVER_2serverweight0Kmeoutyreretryrt}}}tServercase1intVIPsbinrouteadd-host$VIPdevlo:0sysnetipvconfloarpignoresysnetipvconfloarpannouncesysnetipvconfallarpignoresysnetipvconfallarpannounceevnullStartOKnroutedelVIPdevnull2>&1sysnetipvconfloarpignoresysnetipvconfloarpannouncesysnetipvconfallarpignoresysnetipvconfallarpannounceStopedOKexit1gestartstopLVS+keepalived+Nginx+Apache+PHP+MySQL+Memcached+Redis隨著網(wǎng)站訪問人數(shù)越來越多,對體驗的要求也越來越高,網(wǎng)站承受的并發(fā)和壓力也越來越大,所以需要對網(wǎng)站和架構(gòu)進行優(yōu)化,優(yōu)化的策略有很多,系也可以用在局域網(wǎng)中,使局域網(wǎng)用戶通過代理上自己本地緩存一份,如果另外一個用戶再訪問同樣ufsaufscossdiskdnullufs用一個大文件或者一個磁盤設(shè)備來存儲。nullaufs或者diskd是比較好的選擇,如果系統(tǒng)的線程dlewugkparentoriginservernamewugkdomainwugkwugklocalhostffrprotocacheobjectalhostsrcolocalhostdstcalnetsrcalnetsrcalnetsrclsrcethodCONNECTtpaccessallowmanagerlocalhostessdenymanagerpaccessallowlocalnetpaccessallowlocalhosttpaccessallowallhodPURGEtpaccessallowPURGElocalhostcessdenyPURGEmaximumobjectsize8MBmaximumobject_size_in_memory256KBhystoplistcgibinlocalsquidvarcacherefreshpatternftp144020%10080refreshpattern^gopher:14400%1440refresh_pattern-i(/cgi-bin/|\)00%0refreshpattern4320ttpportaccelvhostvportparentoriginservernamewugkparentoriginservernamewugkrdomainwugkwugklocalhostffgrprotocacheobjectalhostsrcolocalhostdstacllocalnetsrcRFCpossibleinternalnetworkalnetsrcpossibleinternalnetworkalnetsrcssibleinternalnetworktsportSafeportsporthttportsportftpportsporthttpslsrchodCONNECTcessallowmanagerlocalhostessdenymanagerccessdenySafeportsaccessdenyCONNECTSSLportsessallowlocalnetessallowlocalhosttpaccessallowalldPURGEcessallowPURGElocalhostcessdenyPURGEsquidconfig014-03-25cachediraufsdatacache6maximumobjectsize8MBmaximummaximumobject_size_in_memory256KBhystoplistcgibinolsquidrefreshpatternftp144020%10080refreshpattern^gopher:14400%1440refresh_pattern-i(/cgi-bin/|\)00%0refreshpattern4320cache_peer_domainwugk1wugk2設(shè)置緩存服務(wù)器名稱frtrt#http#ftp#httpsallowmanagerlocalhostdenyCONNECT!SSL_portshttp_accessallowlocalnetpaccessallowlocalhost有客戶端訪問上面設(shè)置的兩個網(wǎng)站tpaccessallowallhodPURGEtpaccessallowPURGElocalhostcessdenyPURGEsquidconfig014-03-25cachediraufsdatacache256件大小maximumobjectsize8MB件大小maximumobject_size_in_memory256KBhystoplistcgibinoolsquidrefreshpatternregex時間><百分比><最大時間>nrefreshpatternftp144020%10080refreshpattern^gopher:14400%1440refresh_pattern-i(/cgi-bin/|\)00%0adrefreshpattern020%4320*強制更新某個url:clientpmPURGEsquidclientpmgrinfoiosvi/etc/security/*softnproc65535*hardnproc65535*softnofile65535*hardnofile65535限制和軟限制:hard硬限制是可以在任何時候任何進程中設(shè)置但硬限制只能由超級用戶2)2)內(nèi)核參數(shù)的優(yōu)化vietc/6000=102465000=1=1=1=262144=262144每個網(wǎng)絡(luò)接口接收數(shù)據(jù)包的速率比內(nèi)核處理這些包的速率快時,允許送到隊列=262144過這個數(shù)字,孤兒連接將即刻被復(fù)位并打印出警告信息。這個限制僅僅是為了=262144到客戶端確認信息的連接請求的最大值。對于有128M內(nèi)存的=0=1ACK決定了內(nèi)核放棄連接之前=1=1FINWAIT最多只能吃掉內(nèi)存,但是它們的生存期長3011111==111111析2304:45:54localhostkernel:possibleSYNfloodingonport80.Sendingcookies.2304:45:55

溫馨提示

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

最新文檔

評論

0/150

提交評論