一、oss是什么
阿里云對象存儲服務(Object Storage Service,簡稱OSS)為您提供基于網絡的數據存取服務。使用OSS,您可以通過網絡隨時存儲和調用包括文本、圖片、音頻和視頻等在內的各種非結構化數據文件。
阿里云OSS將數據文件以對象(object)的形式上傳到存儲空間(bucket)中。您可以進行以下操作:
(1)創建一個或者多個存儲空間,向每個存儲空間中添加一個或多個文件。
(2)通過獲取已上傳文件的地址進行文件的分享和下載。
(3)通過修改存儲空間或文件的屬性或元信息來設置相應的訪問權限。
(4)在阿里云管理控制臺執行基本和高級OSS任務。
(5)使用阿里云開發工具包或直接在應用程序中進行RESTful API調用執行基本和高級OSS任務。
?
二、對象存儲oss 與 自建服務器存儲的對比
對比項 | 對象存儲OSS | 自建服務器存儲 |
---|---|---|
可靠性 |
|
|
安全 |
|
|
成本 |
|
|
數據處理能力 | 提供圖片處理、音視頻轉碼、內容加速分發、鑒黃服務、歸檔服務等多種數據增值服務,并不斷豐富中。 | 需要額外采購,單獨部署。 |
?
三、使用場景
1、圖片和音視頻等應用的海量存儲
2、網頁或者移動應用的靜態和動態資源分離
3、云端數據處理
?
四、購買oss服務
官網購買鏈接:https://www.aliyun.com/product/oss
阿里云優惠券領取鏈接:www.aliyouhui.top
?
需要注意的是,建議您根據需求同時購買存儲包和下行流量包。如果您同時開通了cdn加速,建議再購買回源流量包。如果不購買流量包,產生的費用就有些大了(就像用手機時,我們也需要購買流量包一樣)。
?
五、oss的使用
官方文檔:https://help.aliyun.com/document_detail/31817.html
?
1、購買oss之后,進入控制臺,點進oss
?
2、根據自己需求填寫名稱,以及選擇區域
3、點擊確定,進入下一界面,如下
?
到此,oss已經創建好了。現在,就可以使用了。
?
4、開始正式在網站使用oss對象存儲服務
(1)首先,在oss控制臺新建一個文件夾,用于存儲網站的圖片,然后向文件夾里上傳幾張圖片。
?
5、這里,我新建了一個image文件夾,并向其中上傳了6張圖片。如圖:
?
6、在網站中訪問
d.php
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body>
<img src="http://hk-server.oss-cn-hongkong.aliyuncs.com/image/10005ad45c08b7a81.jpeg" alt="">
</body>
</html>
url訪問:
?
到此,oss對象存儲服務中存儲的文件已經可以在網站中正常訪問了。
注:要設置圖片的訪問權限(文件ACL),我這里為了演示效果,設置的是公共讀。
?
?
7、在框架中應用oss服務
當然,前面的介紹只是簡單的訪問圖片的url地址,然后進行訪問,那么如何在框架中對整個oss進行一系列的增傷改查操作呢,這里以最基礎的tp3為例。
在項目根目錄(application目錄的上一級)進行如下操作:
(1)配置國內composer鏡像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
(2)composer 安裝 oss PHP sdk
composer require aliyuncs/oss-sdk-php
(3)下載之后目錄結構是這樣(其他框架大同小異)
(4)填寫配置項
修改文件 /Application/Common/Conf/config.php
'ALIOSS_CONFIG' => array('KEY_ID' => '', // 阿里云oss key_id'KEY_SECRET' => '', // 阿里云oss key_secret'END_POINT' => '', // 阿里云oss endpoint),
(5)創建實例化函數
文件 /Application/Common/Common/function.php,如果不存在則新建。
?
(6)官方關于oss圖片上傳的代碼示例
https://help.aliyun.com/document_detail/32099.html
遇到錯誤可參考?https://www.cnblogs.com/gengyi/p/6622819.html
?
#代碼待補
?
總結:oss對象存儲的好處有很多,官方文檔都有介紹,這里不多贅述。
不僅降低了本地服務器io的消耗,也提高了獲取資源的速度。理論上,相對于一個公司網站而言,成本也并不是很大,使用起來也是極其方便。最主要的安全。
個人建議不論是做個人站,還是公司網站,如果靜態資源較多,完全可以將靜態資源都放到oss對象存儲中,也是進一步優化了網站訪問速度。
當然,oss其實也是可以搭配cdn來使用的。