1. 程式人生 > >運維經驗總結

運維經驗總結

1. 域名
從買域名開始,要買多個域名,50個甚至100個。分為主域名和推廣域名(給推廣連結用的)。要從godaddy上買域名,由於這裡的域名穩固,不會出現被攻擊等事變。同時還要買域名保護,如許網際網路使用者ping這個域名就剖析不到真實的辦事器地點。同時域名解析的操縱不要在godaddy上舉行,要把解析的操作放在cloudflare上大概dnspod上進行操作,也可以放到zndns上(這個dns可以做到一個域名解析多個IP地址,根據就近原則,把最快的IP地址解析給使用者。)也可以自己搭建dns伺服器,在godaddy上只想到自己搭建的dns伺服器就可以了。這樣,修改dns指向的時間會更快。

2. CDN
肯定要買cdn服務。假如出現部分使用者訪問不了就利用cdn服務。可以從cloudflare上購買cdn服務,這樣域名解析到cdn上,然後cdn解析到肉盾擊還是那個,然後肉盾擊指向焦點伺服器上。Cdn充當一個快取和轉發的作用,大流量攻擊的時候他可以防禦至少200G的攻擊。Cdn是全球快取的。

3. 圖片伺服器
在海內租用幾臺伺服器做圖片快取伺服器即可,這樣提高訪問速度。其實nginx本身就是一個圖片快取伺服器。

圖片伺服器和其他伺服器要分開,肉盾擊可做圖片快取。

4. 伺服器機房
選擇機房太重要了,要服務質量好的,還要高防好的,還要可靠性高的,還要相應及時的,還要能隨時可以檢察伺服器狀態的,最重要還要服務態度好了。機房要買香港九河(使用者核心伺服器),美國聖安娜機房(用於肉盾擊)(雖然慢,但是寧靜高防做的真好,大流量攻擊的時候,這裡的機房還是可以訪問,以是,雞蛋不要放在一個籃子裡頭,要各個等級都有才叫好的,國內機房快,但是高防效果差,美國機房慢但是高防效果好)

5. 主頁
一個主頁,就是招商或成為打廣告的網站,可以租用雲主機,這樣被打死就被打死吧。裡面可以有一個連結,指向遊戲首頁,這個連結可以是帶埠號的,那就簡單了。也可以是不帶埠號的,這時候就一定要用cdn伺服器,或者使用免存案機房,把肉盾擊放在免備案機房,因為國內搭建網站都是要備案的,博彩這個行業是被禁止的,為了避免域名或者IP地址被和諧了(gwf)所以要用免備案機房。或者就把肉盾擊也放到香港或者臺灣或者韓國等等機房。這樣使用者可以不使用埠號,直接用域名就可以訪問咱們的網站。

6. 監控系統
要個網站要有監控系統,實時監控伺服器是否有攻擊,功過檢視日記是否激增,還要把日誌放到日誌伺服器上(syslog服務),使用cacti服務可以把日誌放到cacti上。網速是一定要檢視的,網速激增則證明一定是有攻擊。每天要看日誌,要用日誌分析軟體,看看訪問源是單一訪問源還是多個不同的訪問源.監控伺服器要有報警功能,一旦環境異常就要立刻報警,然後起床處理攻擊。

7. 防攻擊
攻擊一般看情況而定,一般的攻擊都是直接攻擊域名。小量的攻擊可以通過nginx和iptables本身的防禦功能就防掉。大量的攻擊由於直接把網路頻寬佔用滿了,伺服器無法正常相應,只能依靠機房的高防了。所以要買大量的高防,建議至少200G。如果攻擊源是單一IP或者幾個IP,那麼就讓機房把這幾個IP給遮蔽就可以了。遇到cc或者ddos攻擊,只能靠機房解決。一臺伺服器被打死後,需要立刻把域名指向另一臺伺服器,(或者直接把域名指向百度)。大量的攻擊還要使用cdn,讓cdn直接指向核心伺服器就可以了,這樣能快一點,讓使用者還可以玩。總之大流量攻擊是不能完全防備的。

8. 冗餘
一個網站一定要有冗餘,比如現在是1000人同時訪問的併發量,一定要讓網站的負載達到2000人的併發量,要不然一搞活動,網站負載不了那麼多人就完了。

9. 伺服器
伺服器的設定,要用三網絡卡,一個用於使用者毗連,對外的訪問(要好的網絡卡)。一個用於內網伺服器之間的訪問使用。一個用於ssh治理,這樣大量攻擊的時候咱們還可以操作伺服器。每個網絡卡還要多個IP地址,這樣防止某個IP被遮蔽了。國內網路和國外網路經常會有IP不好用的情況。硬碟至少要映象(raid 1),cpu要兩路的,雙電源,總之不要有單點故障。至於肉盾擊的配置可以低一些,甚至桌上型電腦的配置都可以,但是網路一定要好,尤其是和核心伺服器之間的網路一定要好。

10. 資料庫
資料庫要做主從複製,要有異地備份,nginx伺服器要做叢集,就是upstream。前臺(提供使用者訪問頁面)和後臺(員工管理介面)要用兩臺不同的機器,不要相互影響。其餘的服務可以使用一臺虛擬機器完成。這樣可以省錢,郵箱直接買google的gmail企業郵箱就好了,非常好用,最好沒人一個。或者公司內部搭建自己的聊天軟體(最好還錢買聊天軟體)。

11. 測試情況
測試環境要三套,開發職員電腦上自己的環境,要區域網一套測試環境,網際網路一套測試環境,生產環境。區域網的測試環境一定要穩定,可以買一個機櫃等等的網路裝置放在一起,不要用普通電腦。區域網要有svn或git的程式碼管理東西。充分測試後在上傳到生產環境。

12. 肉盾擊和核心伺服器
肉盾擊和核心伺服器之間一定要可以使用ping命令,這樣可以看看那個IP地址不能使用了,網路連通性都可以看出來。

13. 運維人員
至少兩個,如果有運維司理一個運維人員就夠了。這樣全部運維事情必須有操作文件,兩個人互相協調工作,不需要倒班,但是24小時待命。網管一個就夠了。

普通的運維部門大概就這樣,如果是大的網路架構,會有自己的資料中心機房到時候在安排人手。

14. Linux系統優化和安全
要有優化和安全配置,比如說nginx基於cpu的優化,每個程式基於cpu和記憶體的限制。

所有暗碼要有3個月就修改一次,尤其是域名的賬號和郵箱密碼,域名是最重要也是最脆弱的環節。

15. 區域網
區域網一定要穩定,可以買兩條網線,至少10M頻寬,還要買一個移動wifi,給員工手機上網。

16. 機房
如果是大型網路架構,那得有自己的核心機房,就不是租用機房了,每個崗位都是若干人組成的,包羅運維工程師,資料庫管理工程師,網路工程師,安全工程師,儲存備份系統工程師,運維經歷負責協調各個部門間的工作。目前就是一個運維就能完成所有的工作。

17. 運維工具
運維的工具要統一,比如連線資料庫使用sqlyog工具,連線伺服器使用crt工具,密碼管理用keepass,上傳伺服器程式碼使用winscp工具,等等。這樣運維人員之間工作比較好協調。另外運維一定要有大量時間學習,每天都要上網找新技能,好的資料,最好要懂英文,因為好的技術文件都是英文寫的。這樣對運維工作很有幫助,而且運維技術實力會有很大的進步的,為迎接更大的需求做準備。

18. 災備預案
最後一定要有預案,就是伺服器一旦出現重大問題,就是解決不了了,這個時候就不要去解決這臺伺服器,使用預案,把啟用備用方案,儘快讓網站可用。平時多做預案演習,還要多做備份的還原操作,因為有的備份不可用,這是常見現象。別到關鍵時刻備份不能用,整個網站就完了。

19. 伺服器安全
要有一整套的安全配置,包括使用者安全,應用安全,系統安全,檔案安全等。這樣防止伺服器被黑客侵入。

20. 高併發測試
一定要做高併發測試,模擬同時線上使用者2000人,看伺服器的負載情況,要有伺服器高併發配置,網路方面是機房的事情,但是得選擇最合適的IP地址,最適合的機房,及出口頻寬。高併發是伺服器架構的事情,不是單單一臺伺服器的事情。該花錢的地方一定要花,可以省錢的地方要知道怎麼省錢。

21. 運維資訊
運維所有資訊兩個人共享,包括密碼和伺服器配置步驟,由運維經理帶領團隊,打造成一個互相學習,技術實力雄厚,目標一致的和諧團隊。讓每個人在團隊中都得到自己想要的。運維經理的為人就很重要,要不然留不住人,大家心不往一起使勁。運維工作技術不是最重要的,因為這個職位現學現用也來得及,所以工作態度/為人和經驗是最重要的。

22. 伺服器日誌
對伺服器建立日誌,所有伺服器的所有操作都要有記錄,並且寫清時間操作內容。對生產伺服器操作之前一定要做風險評估及解決方案。

23. 運維之道
網站可用性/監控與報警/容量規劃/流程規範/知識管理與積累/自動化管理。

24. 運維工作
應用上線後,運維工作才剛開始,具體工作可能包括:升級版本上線工作、服務監控、應用狀態統計、日常服務狀態巡檢、突發故障處理、服務日常變更調整、叢集管理、服務效能評估優化、資料庫管理優化、隨著應用PV增減進行應用架構的伸縮、安全、運維開發工作。

25. 檢視連線數
查看了連線數和當前的連線數,分別是 netstat -ant | grep $ip:80 | wc -l netstat -ant | grep $ip:80 | grep EST | wc -l