空間在國外,域名沒有 BA 號,想要加快網站的訪問速度,一個方法就是使用香港或者日本機房的伺服器,國內訪問這兩個地方的空間相對於美國來說還是挺快的,要是願意花錢購買更穩定的頻寬和線路,網站訪問的速度還是有可能趕上上國內的主機速度。
另一個方法就是給網站使用 CDN 加速,國外有很多的免費 CDN 服務,可惜 CDN 加速效果並不好,甚至還有可能讓網站速度變得更慢。雖然國內近年來也出現了 360 CDN 、百度 CDN 、加速樂等免費的 CDN 服務,不過可惜的是隻有 BA 號的網站才能正常使用 CDN 。
一個折衷的辦法就是不給網站做全站 CDN 加速,而是給網站的 JS 、 CSS 、圖片、論壇附件等靜態檔案進行 CDN 加速。實際測試結果顯示,這樣做 CDN 加速效果還是有的,尤其是對於一些圖片和附件比較多的網站,加速訪問的效果還是很明顯的。
之前部落已經分享過了 WordPress 使用七牛、又拍免費 CDN 進行加速的方法,本篇文章就來分享一下 Discuz 論壇使用七牛、又拍、阿里雲 OSS 免費 CDN 加速方法。

一、申請和開通七牛 CDN
1 、進入到七牛 CDN 管理後臺,新建一個空間。

2 、然後在映象儲存中設定好映象源。

3 、在賬號管理中可以看到金鑰 Access 和 SecretKey 。

§
二、 Discuz 論壇使用七牛 CDN 加速 JS 、 CSS 、圖片等靜態檔案
1 、進入到管理中心-> 全域性-> 上傳設定的基本設定,本地附件 URL 地址填寫你七牛相關空間的 http://域名+/data/attachment 。

2 、然後進入到 Discuz 論壇的 「全域性」-「伺服器最佳化」 。

3 、在 JS 檔案 URL 和 CSS 檔案 URL 選擇 「自定義 URL」,URL 上填寫你七牛相關空間的 http://域名+/static/js/,如果你的 JS 和 CSS 檔案放在別的子目錄中,可以參照路徑進行修改。

4 、更新 Discuz 論壇快取,開啟 Discuz 論壇,這時就能看到 JS 、 CSS 等靜態檔案已經替換成了七牛的 CDN 地址了。

5 、原來 Discuz 論壇上的圖片等都已經變成了七牛的連線了。

§
三、 Discuz 論壇使用七牛、又拍、阿里雲 OSS 儲存並加速附件
1 、上面我們透過建立七牛映象空間實現了 Discuz 論壇 JS 、 CSS 、圖片等無縫 CDN 加速,可能有的朋友想要把論壇的附件存放在七牛、又拍、阿里雲 OSS 並實現加速。
2 、先要下載:DISCUZ X3 擴充套件框架 DXEXTEND 檔案 (適用於 3.1 和 3.2) 和 DISCUZ X2.5/3/3.1 雲端儲存通用介面檔案。
3 、將 DISCUZ X3 擴充套件框架 DXEXTEND 解壓縮並將其中的資料夾複製到 discuz 同路徑下,替換同名檔案。將 DISCUZ X2.5/3/3.1 雲端儲存通用介面檔案解壓後,將其中的資料夾複製放在根目錄中。

4 、修改你的 config/config_global.php 檔案,如果是想要使用七牛作為附件儲存和加速,新增以下程式碼 (注意將 Access Key 、 Secret Key 、 attachurl 、 bucket 替換成你自己的):
- $_config['extend']['storage']['curstorage'] = 'qiniu';
- $_config['extend']['storage']['qiniu']['accesskey'] = '';
- $_config['extend']['storage']['qiniu']['secretkey'] = '';
- $_config['extend']['storage']['qiniu']['attachurl'] = 'http://';
- $_config['extend']['storage']['qiniu']['bucket'] = '';
5 、如果使用阿里雲 OSS 作為附件儲存和加速,程式碼如下:
- $_config['extend']['storage']['curstorage'] = 'aliyun';
- $_config['extend']['storage']['aliyun']['access_id'] = '';
- $_config['extend']['storage']['aliyun']['access_key'] = '';
- $_config['extend']['storage']['aliyun']['access_host'] = NULL;
- $_config['extend']['storage']['aliyun']['bucket'] = 'discuzbucket';
- $_config['extend']['storage']['aliyun']['attachurl'] = 'http://discuzbucket.oss.aliyuncs.com';
6 、如果使用又拍作為附件儲存和加速,程式碼如下:
- $_config['extend']['storage']['curstorage'] = 'upyun';
- $_config['extend']['storage']['upyun']['bucket'] = 'Discuztest';
- $_config['extend']['storage']['upyun']['username'] = 'Discuzuser';
- $_config['extend']['storage']['upyun']['password'] = 'discuz';
- $_config['extend']['storage']['upyun']['attachurl'] = 'http://Discuztest.b0.upaiyun.com';
7 、新增程式碼完成後,接下來就是在 discuz 管理中心-> 全域性-> 上傳設定-> 遠端附件 中啟用遠端附件,並將 遠端訪問 URL 設定為 http://<YOUR QINIU DOMAIN>(阿里雲和又拍同理一樣) 。

8 、修改完成後,你在 discuz 論壇中上傳的附件就會直接上傳到七牛、又拍、阿里雲 OSS 空間上了。
