從業(yè)幾年,經(jīng)常在行業(yè)群里聽(tīng)到某位客戶的網(wǎng)站無(wú)法訪問(wèn)了,客戶質(zhì)問(wèn)其服務(wù)提供商,溝通之后發(fā)現(xiàn)客戶認(rèn)為網(wǎng)站做好了,放在那里隨時(shí)都可以訪問(wèn),不應(yīng)該出現(xiàn)無(wú)法打開(kāi)的情況。網(wǎng)站穩(wěn)定線上,從不出問(wèn)題,這是每個(gè)客戶的期望,誰(shuí)希望自己的東西出問(wèn)題呢,但是在網(wǎng)絡(luò)世界里,一個(gè)網(wǎng)站突然無(wú)法訪問(wèn)很正常,原因多種多樣,需要逐一分析,找出問(wèn)題所在,網(wǎng)站便可恢復(fù)訪問(wèn)。
與客戶談需求的時(shí)候,由于合同還未簽訂,客戶占主動(dòng),經(jīng)常會(huì)問(wèn)我們網(wǎng)站如果打不開(kāi)了怎么辦,為了讓客戶放心每次都要回答很多內(nèi)容,網(wǎng)站打不開(kāi)了,先分析問(wèn)題,再處理問(wèn)題,然后把解決辦法與防御策略挨著說(shuō)一次。幾乎60%的客戶,認(rèn)為網(wǎng)站無(wú)法打開(kāi)是建站公司的問(wèn)題,工作馬虎不負(fù)責(zé)。其實(shí),不可一概而論,網(wǎng)站無(wú)法打開(kāi),建站公司要付多大責(zé)任呢?應(yīng)該從出現(xiàn)問(wèn)題的原因來(lái)看。
常見(jiàn)原因:1、502錯(cuò)誤,2、域名解析問(wèn)題,3、服務(wù)器配置出錯(cuò),4、被攻擊了,5、磁盤(pán)空間不足,6、內(nèi)存不夠,7、網(wǎng)速原因,8、升級(jí)維護(hù)。今天主要談防御及快速恢復(fù)。
我們將每一個(gè)會(huì)造成網(wǎng)站無(wú)法訪問(wèn)的原因整理成了一個(gè)表格,技術(shù)人員嚴(yán)格按照?qǐng)?zhí)行,當(dāng)出現(xiàn)網(wǎng)站無(wú)法打開(kāi)時(shí),便逐一檢查。域名解析問(wèn)題、磁盤(pán)空間不足、內(nèi)存不足以及網(wǎng)速問(wèn)題是我們能夠立即處理并且應(yīng)該保證的,磁盤(pán)不足就擴(kuò)容,內(nèi)存不足也是擴(kuò)容,網(wǎng)速問(wèn)題就看是客戶本地速度還是服務(wù)器帶寬不足,帶寬問(wèn)題可以增加帶寬,或者將網(wǎng)站靜態(tài)文件上傳到對(duì)象存儲(chǔ)服務(wù)器。而被攻擊以及程序502等就需要程序員憑其經(jīng)驗(yàn)來(lái)處理了,處理時(shí)間可長(zhǎng)可短,完全看問(wèn)題的嚴(yán)重性。在這種情況下出現(xiàn)的網(wǎng)站無(wú)法打開(kāi)其責(zé)任不在網(wǎng)站建設(shè)公司,無(wú)論什么網(wǎng)站都會(huì)出現(xiàn)這兩者問(wèn)題,并且不可避免。當(dāng)出現(xiàn)了502問(wèn)題,我們應(yīng)該根據(jù)不同的環(huán)境來(lái)找問(wèn)題,我們使用的是lnmp環(huán)境,所以應(yīng)該參考官網(wǎng)的502錯(cuò)誤問(wèn)題解決辦法,也有一部分人發(fā)現(xiàn)無(wú)論怎么處理都無(wú)法解決502錯(cuò)誤,這個(gè)時(shí)候我們應(yīng)該恢復(fù)備份的網(wǎng)站數(shù)據(jù),如果還是無(wú)法解決,我們應(yīng)該將環(huán)境快照恢復(fù)即可,將整個(gè)系統(tǒng)恢復(fù)到出現(xiàn)問(wèn)題之前的一個(gè)時(shí)間點(diǎn)。
企業(yè)網(wǎng)站更新頻率不高,所以可以采用網(wǎng)站數(shù)據(jù)備份與整體環(huán)境備份的策略來(lái)保護(hù)數(shù)據(jù)以及快速恢復(fù),是很好的選擇。不用過(guò)多的去糾結(jié)錯(cuò)誤代碼,我們也沒(méi)有那么多精力去處理各種各樣的無(wú)法解決的錯(cuò)誤代碼。所以從根本入手,保護(hù)好網(wǎng)站數(shù)據(jù)以及環(huán)境數(shù)據(jù),保護(hù)環(huán)境數(shù)據(jù)是為了快速恢復(fù)整體,因?yàn)槌鲥e(cuò)的可能是你的服務(wù)器配置,而不是網(wǎng)站代碼本身。
考慮到最壞的情況,服務(wù)器壞掉,數(shù)據(jù)全無(wú),所以每個(gè)程序員都有備份數(shù)據(jù)的習(xí)慣。每周一備份,大更新一備份,并且數(shù)據(jù)存在兩個(gè)地方,本地一份,OSS一份,充分保障數(shù)據(jù)安全。我們采用兩種備份方式,一種是服務(wù)器快照備份,直接備份整臺(tái)服務(wù)器環(huán)境與文件,恢復(fù)時(shí)間3分鐘。第二種對(duì)每個(gè)站點(diǎn)備份,采用Linux命令壓縮網(wǎng)站文件與數(shù)據(jù)庫(kù),再通過(guò)內(nèi)網(wǎng)推送到OSS,較之傳統(tǒng)備份與恢復(fù)效率大大提高。而快照功能的支持以及費(fèi)用,目前阿里云已經(jīng)做到了較為完善,備份所占用的空間由OSS支持。
如果是網(wǎng)絡(luò)攻擊,根據(jù)攻擊方式的不同,處理辦法有多種??梢赃x擇暫時(shí)關(guān)閉網(wǎng)站,或者將首頁(yè)改成文字說(shuō)明,保留客戶信任。由于DDOS攻擊在一定程度上是拼資源,所以我們一般不會(huì)正面防御,而是采用OSS的靜態(tài)網(wǎng)站功能來(lái)處理,將整個(gè)網(wǎng)站靜態(tài)化,用OSS流量來(lái)抵消DDOS流量,不過(guò)OSS也是有峰值的,當(dāng)達(dá)到峰值時(shí),會(huì)停止網(wǎng)站訪問(wèn),所以我們一般建議制作單頁(yè)說(shuō)明文字,使用OSS對(duì)靜態(tài)網(wǎng)站的支持來(lái)展示網(wǎng)站。