使用阿里雲的CDN和RDS服務

阿里雲的伺服器也差不多用了一個月了,總體還是比較滿意的~~~
只是因為當時選擇配置的時候選了512M記憶體,因為MySQL 5.6太佔資源了,
導致它出現過幾次因為排在記憶體佔用列表第一名而被系統在記憶體不足時kill掉的情況。。。
於是,就有了兩種解決辦法,一種是升級到1G記憶體,還有一種就是使用第三方資料庫服務。

本來使用的是第一種,每個月要加20元升級到1G記憶體,用下來的確沒有再出現記憶體不足的現象。
本著折騰的原則,在平靜一個月以後,打算嘗試一下第二種方法~~~
這第三方資料庫服務就是阿里雲的另一項服務,叫RDS關聯式資料庫。

它既可以選擇MySQL也可以選擇SQLServer,最小的配置是5G空間,240M記憶體,現在優惠只要5元一個月。
特性是:即開即用、穩定可靠、可彈性伸縮的線上資料庫服務。具有多重安全防護措施和完善的效能監控體系,
且每台RDS擁有兩個實體節點進行主從熱備,主節點發生故障,秒級切換至備節點。
外網按流量計費,內網不要錢,於是和雲端伺服器同樣選擇杭州的節點就可以免流量費使用了~~

具體請參考這裡:http://www.aliyun.com/product/rds

相對來講,無論是安全性,還是穩定性,還是速度,都要遠遠超過在自己伺服器上架設資料庫服務。
而且還比加512M記憶體要便宜得多~~~ 於是果斷拿來試試看。

支付之後,瞬間就開通了,然後就可以進行資料庫遷移了,先去新建一個和原來資料庫同名的資料庫。
原生提供了一個遷移工具,只要根據說明設好權限填入相關資訊,點一下就可以一鍵遷移了。

迁移

但是只支援5.1和5.5版本的Mysql,我是5.6的,只能使用mysqldump把資料庫先匯出,
然後再用mysql寫入遠端資料庫裡,過程也比較簡單,官網也是提供詳細的說明文件。
一切就緒之後,把網站後台的資料庫參數改一下,就好了,同時把自己伺服器裡的mysql關掉,
記憶體使用瞬間從50%-60%掉到30%不到,重啟一下之後甚至只有18%。。。果然512M記憶體就夠用了。

RDS的管理控制台不僅可以管理使用者和資料庫,同時可以進行多項指標的監控,
以及log檢視,自動備份,閾值警報設定,效能優化,白名單設定等等,
這樣資料庫備份的工作也不再需要wordpress來做了~~
至於資料庫內容的管理,除了可以透過內置的iDB Cloud以外,phpmyadmin也是可以使用的。

RDS控制台

下面來說說CDN服務吧。
當時在客製化伺服器的時候,看到頻寬只有1M,於是就在想,怎麼這麼小,就花了20元升級到了2M頻寬。。
事實證明,在大量圖片存取時,即使是2M頻寬也還是會覺得很慢的,而在程式碼等部分的存取時,1M頻寬都完全用不掉。

於是就開始考慮如何來加速靜態檔案,首先想到的方法就是CDN內容分發網絡,
CDN將源站內容分發至全國所有的節點,縮短使用者查看物件的延遲,
提高使用者存取網站的回應速度與網站的可用性,解決網絡頻寬小、使用者存取量大、網點分佈不均等問題。
同樣阿里雲提供了這個服務,
參考這裡:http://www.aliyun.com/product/cdn

阿里雲CDN在全國有44個節點,包括聯通電信移動長城什麼的,國外有5個節點,單節點頻寬10G。
按流量收費,開通不收費,流量費用還是相當便宜的,每GB流量0.4元,
根據我之前伺服器的記錄,大概我的網站一個月流量只有10-20G,這樣也就只要4-8元錢。
就可以享受到各地都有的高速存取,試用下來效果令人非常滿意,比另外買1M頻寬更有效且更便宜。

下面來說說CDN的具體設定,首先CDN是不能運行動態檔案的,也不能對動態檔案進行加速。
所以要做到的第一步就是動靜分離,先把網站上需要加速的檔案扔到一個獨立的資料夾裡,設定一個二級域名。
我這個網站需要加速的主要是照片們,於是我就把所有的照片移動到新的資料夾裡,
並設定了cdn.cnsjw.cn這個二級域名,先讓它可以存取。

在CDN控制台裡新增這個域名和對應的伺服器IP位址,在驗證域名有效後,
系統就會對伺服器上的檔案進行快取和分發了,這雖然需要一個過程,但是實際用下來還是相當快的。
尤其是在上傳新檔案的時候,幾乎是瞬間就完成了CDN加速。。。

對於Wordpress來說,需要做的主要有3個步驟,
1 首先要把文章內所有圖片檔案的位址改掉,這個過程很容易,直接去phpmyadmin,
修改資料庫裡本來www.cnsjw.cn/wp-content/uploads/替換成cdn.cnsjw.cn/uploads/
改後可以看到所有圖片都可以存取到。

2 修改Media的上傳目錄和存取位址,
Wordpress是提供這個設定參數的,但是並沒有直接給出,需要先存取/wp-admin/options.php,
然後搜尋這兩個參數:upload_path和upload_url_path,像下圖一樣填入相應的數據。
這樣應該媒體庫裡的所有檔案都可以透過CDN存取了,上傳也會直接傳到靜態資料夾裡直接加速。
修改過之後在Media的設定裡就會出現這個選項了:

3 最後就是考慮到之前的圖片位址,可能會被第三方轉載,或被搜尋引擎收錄,
所以在設定一個redirect,使第三方依然可以顯示,並告訴搜尋引擎已經轉移位置。
只需要在.htaccess中加入

RewriteCond %{REQUEST_URI} ^/wp-content/uploads/ 
RewriteRule /wp-content/uploads/(.*) https://img.cnsjw.cn/$1 [R=permanent,L]

最後來說一下阿里雲CDN的記費方式,週期是小時,每小時結算一次,因為我的網站流量比較小,
所以經常結算的時候還不到1分錢,每次出帳的時候是精確到小數點後2位,第3位會直接捨棄,
於是如果1小時內流量不到25M的話,這一小時就是免費的。

雖然本著折騰的原則,但是效果遠遠好於預期,學到了很多知識,
且伺服器配置可以降低了,算下來每個月省了30元錢。。。且速度還變快了。
感謝阿里雲讓我們這種小站長也用上了如此高大上的服務。。哈哈哈~~~

評論請移步微信公眾號

, , , ,


讚賞