1、域名
從買域名開始,要買多個域名,50個甚至100個。分為主域名和推廣域名(給推廣鏈接用的)。要從godaddy上買域名,因為這里的域名穩(wěn)定,不會出現被攻擊等事情。同時還要買域名保護,這樣互聯網用戶ping這個域名就解析不到真實的服務器地址。同時域名解析的操作不要在godaddy上進行,要把解析的操作放在cloudflare上或者dnspod上進行操作,也可以放到zndns上(這個 DNS 可以做到一個域名解析多個IP地址,根據就近原則,把最快的IP地址解析給用戶。)也可以自己搭建 DNS 服務器,在 godaddy 上只想到自己搭建的 DNS 服務器就可以了。這樣,修改 DNS 指向的時候會更快。
2、CDN
CDN,一定要買 CDN 服務。如果出現部分用戶訪問不了就使用 CDN 服務??梢詮腸loudflare上購買 CDN 服務,這樣域名解析到 CDN 上,然后 CDN 解析到肉盾擊還是那個,然后肉盾擊指向核心服務器上。CDN 充當一個緩存和轉發(fā)的作用,大流量攻擊的時候他可以防御至少200G的攻擊。CDN 是全球緩存的。
3、圖片服務器
圖片服務器,在國內租用幾臺服務器做圖片緩存服務器即可,這樣提高訪問速度。其實 Nginx 本身就是一個圖片緩存服務器。
4、服務器機房
機房:選擇機房太重要了,一般來說用戶在哪里,機房就要選擇哪里,因為這樣才最快。但是美國的服務器帶寬很大,如果是需要大帶寬的只能美國。買服務器之前一定要測試ping值,可以用chinaz工具,測試全國到這臺服務器的ping值。要服務質量好的,還要高防好的,還要可靠性高的,還要相應及時的,還要能隨時可以查看服務器狀態(tài)的,最重要還要服務態(tài)度好了。機房要買香港九河(用戶核心服務器),美國圣安娜機房(用于肉盾擊)(雖然慢,但是安全高防做的真好,大流量攻擊的時候,這里的機房還是可以訪問,所以,雞蛋不要放在一個籃子里頭,要各個等級都有才叫好的,國內機房快,但是高防效果差,美國機房慢但是高防效果好)。
5、主頁
一個主頁,就是招商或成為打廣告的網站,可以租用云主機,這樣被打死就被打死吧。里面可以有一個鏈接,指向游戲首頁,這個鏈接可以是帶端口號的,那就簡單了。也可以是不帶端口號的,這時候就一定要用cdn服務器,或者使用免備案機房,把肉盾擊放在免備案機房,因為國內搭建網站都是要備案的。或者就把肉盾擊也放到香港或者臺灣或者韓國等等機房。這樣用戶可以不使用端口號,直接用域名就可以訪問咱們的網站。
6、監(jiān)控系統
一個網站要有監(jiān)控系統,實時監(jiān)控服務器是否有攻擊,功過查看日志是否激增,還要把日志放到日志服務器上(syslog服務),使用cacti服務可以把日志放到cacti上。網速是一定要查看的,網速激增則證明一定是有攻擊。每天要看日志,要用日志分析軟件,看看訪問源是單一訪問源還是多個不同的訪問源。監(jiān)控服務器要有報警功能,一旦情況異常就要立刻報警,然后起床處理攻擊。
7、防攻擊
攻擊一般看情況而定,一般的攻擊都是直接攻擊域名。小量的攻擊可以通過nginx和iptables本身的防御功能就防掉。大量的攻擊由于直接把網絡帶寬占用滿了,服務器無法正常相應,只能依靠機房的高防了。所以要買大量的高防,建議至少200G。如果攻擊源是單一IP或者幾個IP,那么就讓機房把這幾個IP給屏蔽就可以了。遇到cc或者ddos攻擊,只能靠機房解決。一臺服務器被打死后,需要立刻把域名指向另一臺服務器,(或者直接把域名指向百度)。大量的攻擊還要使用 CDN,讓CDN 直接指向核心服務器就可以了,這樣能快一點,讓用戶還可以玩。總之大流量攻擊是不能完全防止的。
8、冗余
一個網站一定要有冗余,比如現在是1000人同時訪問的并發(fā)量,一定要讓網站的負載達到2000人的并發(fā)量,要不然一搞活動,網站負載不了那么多人就完了。
9、服務器
服務器的配置,要用三網卡,一個用于用戶連接,對外的訪問(要好的網卡)。一個用于內網服務器之間的訪問使用。一個用于ssh管理,這樣大量攻擊的時候咱們還可以操作服務器。每個網卡還要多個IP地址,這樣防止某個IP被屏蔽了。國內網絡和國外網絡經常會有IP不好用的情況。硬盤至少要鏡像(raid 1),cpu要兩路的,雙電源,總之不要有單點故障。至于肉盾擊的配置可以低一些,甚至臺式機的配置都可以,但是網絡一定要好,尤其是和核心服務器之間的網絡一定要好。
10、數據庫
數據庫要做主從復制,要有異地備份,nginx 服務器要做集群,就是 upstream。前臺(提供用戶訪問頁面)和后臺(員工管理界面)要用兩臺不同的機器,不要互相影響。其余的服務可以使用一臺虛擬機完成。這樣可以省錢,郵箱直接買google的gmail企業(yè)郵箱就好了,非常好用,最好沒人一個?;蛘吖緝炔看罱ㄗ约旱牧奶燔浖ㄗ詈眠€錢買聊天軟件)。
11、測試環(huán)境
測試環(huán)境要三套,開發(fā)人員電腦上自己的環(huán)境,要局域網一套測試環(huán)境,互聯網一套測試環(huán)境,生產環(huán)境。局域網的測試環(huán)境一定要穩(wěn)定,可以買一個機柜等等的網絡設備放在一起,不要用普通電腦。局域網要有svn或git的代碼管理工具。充分測試后在上傳到生產環(huán)境。
12、肉盾擊和核心服務器
肉盾擊和核心服務器之間一定要可以使用ping命令,這樣可以看看那個IP地址不能使用了,網絡連通性都可以看出來。
13、運維人員
運維人員至少兩個,如果有運維經理一個運維人員就夠了。這樣所有運維工作必須有操作文檔,兩個人互相協調工作,不需要倒班,但是24小時待命。網管一個就夠了。
14、機房
普通的運維部門大概就這樣,如果是大型網絡架構,那得有自己的核心機房,就不是租用機房了,每個崗位都是若干人組成的,包括運維工程師,數據庫管理工程師,網絡工程師,安全工程師,存儲備份系統工程師,運維經歷負責協調各個部門間的工作。目前就是一個運維就能完成所有的工作。
15、Linux 系統優(yōu)化
Linux 系統要有優(yōu)化和安全配置,比如說 Nginx 基于 CPU 的優(yōu)化,每個程序基于 CPU 和內存的限制。
16、安全
所有密碼要3個月就修改一次,尤其是域名的賬號和郵箱密碼,域名是最重要也是最脆弱的環(huán)節(jié)。
17、局域網
局域網一定要穩(wěn)定,可以買兩條網線,至少10M帶寬,還要買一個移動wifi,給員工手機上網。
18、運維工具
運維的工具要統一,比如連接數據庫使用 sqlyog 工具,連接服務器使用 crt 工具,密碼管理用 keepass,上傳服務器代碼使用 winscp 工具等等。這樣運維人員之間工作比較好協調。另外運維一定要有大量時間學習,每天都要上網找新技術,好的資料,最好要懂英文,因為好的技術文檔都是英文寫的。這樣對運維工作很有幫助,而且運維技術實力會有很大的進步的,為迎接更大的需求做準備。
19、災備預案
最后一定要有預案,就是服務器一旦出現重大問題,就是解決不了了,這個時候就不要去解決這臺服務器,使用預案,把啟用備用方案,盡快讓網站可用。平時多做預案演習,還要多做備份的還原操作,因為有的備份不可用,這是常見現象。別到關鍵時刻備份不能用,整個網站就完了。
20、服務器安全
服務器安全要有一整套的安全配置,包括用戶安全,應用安全,系統安全,文件安全等。這樣防止服務器被黑客侵入。
21、高并發(fā)測試
一定要做高并發(fā)測試,模擬同時在線用戶2000人,看服務器的負載情況,要有服務器高并發(fā)配置,網絡方面是機房的事情,但是得選擇最合適的IP地址,最適合的機房,及出口帶寬。高并發(fā)是服務器架構的事情,不是單單一臺服務器的事情。該花錢的地方一定要花,可以省錢的地方要知道怎么省錢。
22、共享
運維所有信息兩個人共享,包括密碼和服務器配置步驟,由運維經理帶領團隊,打造成一個互相學習,技術實力雄厚,目標一致的和諧團隊。讓每個人在團隊中都得到自己想要的。運維經理的為人就很重要,要不然留不住人,大家心不往一起使勁。運維工作技術不是最重要的,因為這個職位現學現用也來得及,所以工作態(tài)度/為人和經驗是最重要的。
23、日志
對服務器建立日志,所有服務器的所有操作都要有記錄,并且寫清時間操作內容。對生產服務器操作之前一定要做風險評估及解決方案。
24、運維之道
運維之道:網站可用性/監(jiān)控與報警/容量規(guī)劃/流程規(guī)范/知識管理與積累/自動化管理。
25、運維工作
應用上線后,運維工作才剛開始,具體工作可能包括:升級版本上線工作、服務監(jiān)控、應用狀態(tài)統計、日常服務狀態(tài)巡檢、突發(fā)故障處理、服務日常變更調整、集群管理、服務性能評估優(yōu)化、數據庫管理優(yōu)化、隨著應用PV增減進行應用架構的伸縮、安全、運維開發(fā)工作。