好吧,經過了幾次折騰之後,網站在國內存取已經非常快速穩定了,下面來研究一下境外的用戶,要怎麼讓他們也能高速存取~~~
阿里雲的 CDN 本來有境外節點,但是最近全部處於不能用的狀態,官方只是在說明文件裡把幾個節點列了出來,卻不開放申請。於是只能自己找境外的 CDN 了~~~
分線路域名解析
讓國外用戶存取國外的伺服器,國內的用戶存取國內的伺服器,要想做到這一點,就要在 DNS 解析的時候來分一下線路,本來這個功能 DNSPod 是免費提供的,後來就不提供了,現在 DNSPod 的免費用戶只能分聯通、移動、教育網之類的,但好在阿里的雲解析還是提供了,這個服務在萬網裡,可以單獨設定海外線路的解析。只需要將國內的伺服器設定給預設線路,將國外伺服器設定給海外線路就可以了,過程非常簡單,就不多說了。
使用 AWS
AWS 也算做雲端運算的鼻祖了,阿里雲基本上是在做境內版的 AWS,各項功能也越來越齊全了,也跟 Amazon 一樣是因為做電商才有這麼大的伺服器需求和用戶量以及流量,再逐漸開放給大家享用的。
先來看看 AWS 有些什麼服務:
主要的服務有:
EC2 相當於阿里雲的雲主機 ECS
S3 相當於阿里雲的開放儲存 OSS
Glacier 相當於阿里雲的開放歸檔 OAS
CloudFront 相當於阿里雲的 CDN
RDS 相當於阿里雲的關係資料庫 RDS
DynamoDB 相當於阿里雲的開放結構化資料庫 OTS
ElastiCache 相當於阿里雲的開放快取 OCS
VPC 相當於阿里雲的專有網絡 VPC
Route 53 相當於阿里雲的雲解析
CloudWatch 相當於阿里雲的雲監控
Elastic Beanstalk 相當於阿里雲的彈性伸縮 ESS
SQS 相當於阿里雲的訊息佇列 MQS……
同時 AWS 還有像郵件發送、雲端桌面以及企業內部的安全儲存服務。相對來講,AWS 比阿里雲的服務要成熟得多,用戶當然也是多得多,Identity & Access Management 做得比阿里雲好太多了……不過鑑於我國網絡國際出口的問題,顯然沒有辦法使用 AWS 作為國內用戶的伺服器。而且 AWS 的本地化只有介紹頁面,後台什麼的都還是英文的~~
現在 AWS 很厚道地提供了一整年的免費體驗功能,體驗的 EC2 為 tiny 級別的執行個體(1核/1G)每個月運行 750 小時,好處是沒有數量限制,只要總時間不到 750 小時就不會額外收費,如果只有一個執行個體的話,是怎麼樣都不會超過 750 小時的,31 天只有 744 小時~
可以自由配置 30G 的儲存空間,很厚道的是可以選擇 SSD。於是我分了 10G 給系統碟,20G 用於數據。
它的 SSH 連線驗證方式是需要下載一個憑證檔案,然後每次只要在連線的時候包含這個憑證檔案就可以了,不需要密碼。好處是安全了很多,缺點是登入的不是 root 帳號,基本上執行什麼操作都要 sudo。還有就是它預設的安全設定入口流量不是公開的,這個要去設定一下才能連線。不得不說在國內連一台國外的伺服器真心很卡啊……
連上去之後就和阿里雲的伺服器一樣了,需要先格式化資料碟,掛載資料碟,然後安裝 Apache/PHP/FTP 並配置……修改用戶權限什麼的,這些跟在阿里雲上一樣,就不用細說了。設定好了 vhost 以及 DNS 解析就可以存取了~~~
AWS 的計費方法非常非常複雜,各種操作都是收費的,相當於阿里雲的按量付費,所以一旦超過免費體驗的部分,就可能會被扣錢,要先看清楚並做好心理準備。另外 RDS 是超級貴的,基礎價格遠超過 EC2。
使用 S3 和 CloudFront
S3 有了 OSS 的基礎之後,上手很方便,介面其實比阿里雲還爛……還有就是它的權限,需要在上傳的時候指定所有人可存取,否則別人是存取不了的。當然傳完之後也可以設定某一個目錄為 public。S3 給免費用戶提供了 5G 的儲存空間,足夠用了。
從 S3 設定 CloudFront 非常方便,選一下就可以了,CloudFront 給免費用戶提供了 50G 的流量~~~
CloudFront 的開通需要提供一個 Business URL,AWS 會發郵件給你,只要直接回覆就可以了,這個跟是不是商用的沒關,換句話說,就是需要你用自己域名的電郵帳號把自己的域名發過去~~用於驗證這個域名是屬於你的……大概過半個小時就可以使用了。
至於 cnsjw.cn 就沒辦法搬到 AWS 上了,不然更新起來太麻煩了,所以就在境外用 CloudFront 來做一下 CDN 加速就可以了。
下面來設定一下 cnsjw.cn 的全站 CDN 以及 OSS 的 CDN。全站 CDN 是比較容易設定的,只要把源設為 www.cnsjw.cn,剩下都不用設定,然後綁定一下 CNAME 就可以了……
至於圖片那部分是放在阿里雲 OSS 上的,綁定到 img.cnsjw.cn 之後,再用阿里雲的 CDN 加速,設定這個就麻煩一點,因為源的地址和分發的地址一致,如果我設定源為 img.cnsjw.cn,一旦把 img.cnsjw.cn 的國外線路解析做到 CloudFront 上,它的源就悲劇地成了自己……所以我需要在阿里雲的 OSS 上再綁定一個二級域名用於給 CloudFront 做源。
這裡看一下各地 ping 的值對比:
只用阿里雲 CDN 的話:對於國外的用戶來說延時還是有點高的。
加了 CloudFront 之後:國外的延時小了很多很多。
總結
AWS 可以說是阿里雲的前輩,多看看前輩是怎麼做的其實挺好的,上手門檻還是比較高的,看網上很多人在吐槽他們的服務,工單沒人回什麼的,需要買高級的服務才會得到更好的支援,當然對於免費用戶來說這也是正常的。
另外需要注意的是 AWS 的一切服務全是收費的,包括安全、監控之類的,而且它不像阿里雲是扣費的,扣到 0 就暫停服務了,它是綁定信用卡的,那可是無底洞……一旦體驗期到了,這些費用都會出來,一定要看好價格表,慎重選擇要開通的服務。
經過使用阿里雲的 CDN 和 RDS 服務,優化網站的存取速度,WordPress 使用阿里雲 OSS 及 Super Cache和這篇文章,就把整個網站優化和部署都講得差不多了~~~各位站長們遇到問題要找到問題在哪,重啟是解決不了問題的~~~我的阿里雲伺服器也差不多穩定地跑了 200 多天了~~~
暫時就把 eitsh.com 和 reco.so 的頁面放在 EC2 上,靜態檔案放在 S3 上,和 cnsjw.cn 的全部靜態檔案一起使用了 CloudFront 的 CDN 加速。通過 DNS 分了線路~~~ 這樣第一次存取的話可能比以前還要更慢,但是只要有人存取過這個檔案有了快取,速度應該就比以前快多了。在海外的小夥伴可以來體驗一下速度如何~~~







