直接用自己服务器做图床可以吗_我花 9 块钱搭了一个“私人图床”
背景
之前一直把簡書當做自己的私人“圖床”來用,因為簡書的Markdown編輯器非常穩定,實時保存加圖片ctrl+v復制進去就能用的特征讓我一直堅持在簡書上首發自己寫的東西,然后圖方便的就直接把md的源文本直接copy到自己的博客站去發布,就省去了再給自己博客站里面文章增加一次配圖的麻煩。但是簡書也有自己的限制,就是會莫名其妙和諧你一堆文章,然而我在里面更新大多都是一些周記和月總結之類的文章,所以也讓我很是苦惱,自己的博客站是用基于 Jekyll 和騰訊開發者平臺 Cloud-studio和coding倉庫做的,雖然訪問比較慢,但是確實是真的全免費的(相當于GitHub里面的page功能,這個還可以綁定自己的個人博客域名“blog.deghao.org”)。但是每次上傳圖片到代碼倉庫文件夾在到編輯器里面去手動復制輸入如下
這么長一段的東西看起來也太不極客了,所以今天我走了上摸索搭建一個自己專用圖床之路。
1. 圖床知識普及
什么是圖床
一般的咱們在網上看到的文章里的插圖,其實在瀏覽器上就是一個圖片鏈接,那個鏈接所指向的服務器就是所謂的“圖床”。粗暴的理解就是文章插圖所存放的地方,圖床上的圖片都可以一串地址鏈接的形式被用在網絡里的各個地方。
截圖中簡書里自帶的圖床的地址。可以再瀏覽器的前端各種應用樣式,但源地址始終都是那個“=”等號后面的“http://XXX/XXX/XXX.png”,那就是圖床地址。
圖床地址還有個最簡單識別的特征,就是你復制圖片的地址,粘貼到瀏覽器里面是可以直接打開圖片的。這個地址的前綴就是簡書的圖床服務器地址及文件絕對路徑了。
為什么需要用圖床
不知道你們是不是都經歷過把QQ空間圖片復制到貼吧,發布之后顯示QQ空間圖片禁止引用,或者把百度圖片復制到微信公賬號,發布之后會變成百度圖片禁止使用之類的警告的經歷。
我相信只要在網上寫過文章的人應該都會有遇到過上圖情況,最后只能沒轍,只能把想要用的圖片先下載到本地再上傳插入到要寫的文章里面,這樣顯示就正常沒問題了。
背后的原因也很簡單,各大網站的圖床都限制了只能自家的網站訪問,你把圖床的地址復制到競爭對手那里去了,版權問題到不說,就給他服務器帶來的流量壓力就增大了。
咱們每一次在網頁上訪問查看一次圖片就是在經歷圖片從圖床下載到你本地瀏覽器的一次過程,也就是在占用服務器的寬帶資源(也就是錢),當然誰家都不愿意花著自家的錢,給其他家平臺上的文章做添彩的嫁衣了,所以各家都會在技術層面限制被其他網站直接把圖床作為外鏈插入使用。所以咱們需要拐一道彎:先把圖片右鍵下載到本地再上傳到目標站這么麻煩,其實底層原理就是換到你想發文章或圖片的那家的圖床服務器了。
現在好一點的文章編輯器,例如簡書,他就可以根據你復制進去的圖片的外鏈地址自動把該圖片下載但他們服務器上生成新的屬于簡書自己的圖床地址,大大的幫作者提升寫文章配圖的效率。但是最近估計簡書也意識到不限制外鏈給服務器也帶來壓力了所以也開始現在外鏈使用了。我的個人博客里的插圖全都變成了下面這個樣。
搭建自己的圖床有啥好處?
- 可以配合自己的域名用來裝逼了
- 不用擔心自己的辛辛苦苦截圖寫的文章因為被和諧,網站停服關閉了就全找不到了。
- 寫自己的博客不需要像之前那么折騰需要來回多次倒騰插圖。
- 一個印象筆記就能完成所有博文的素材查詢、文章撰寫了。
2. 搭建自己圖床的過程
買一個OSS對象存儲服務
通俗的解釋這就是一塊云盤,只不過他可以通過接口api的形式去使用,面向的對象是開發人員而不是咱們日常客戶。主要應用場景就是在存取非結構性數據文件上,就是不是那種數據庫里存的結構化數據(目的就是區分云數據庫的功能)。
咱們就存些文章插圖,采購40G的硬盤就足夠了,不夠到時候可以隨時彈性升級。
5年和1年的服務單價一樣都是9塊,誰說36塊錢就不算現金流了。
購買完成之后還需要點擊一下開通OSS服務功能。然后就可以進到OSS控制臺了。
對了關于流量包購買的問題,不開通流量包就是默認為按量收費,大概算了下1.2元10個G每月,還行吧不是很貴,用著再說。
ps:以防大家可能遇到爬蟲攻擊或者其他其外情況,就盡量不要在阿里云賬號余額里存里過多的錢,不然可能一晚上起來余額就空了,我一般就充50,用完再續隨時用手機阿里云就能充值的。本身阿里云就有自己余額超限停止服務的機制的,不用擔心因為流量被刷變成負幾萬資產。
創建一個Bucket
這個bucket就是顧名思義的桶,你買了40G的空間可以分很多個桶,根據你對想存的東西的定義來劃分。
像咱們做圖床,訪問頻率是不會很低的,如果選低頻甚至歸檔,每次看個你的文章插圖需要1分鐘冷啟動,那黃花菜都涼了,就選擇標準存儲類型及公共讀,加密那個也不用了,都為的是讓所有人都看所以肯定選擇公共度及不加密了。
綁定自己的域名及CDN加速
沒有自己域名,或者有域名沒備案的小伙伴可以不用看這部分。
綁定自己名下的域名
我看了一下是可以直接綁定一級域名的,但是我http://denghao.org的一級用在個人主頁了,就新解析了一個http://pic.denghao.org
配置CDN及HTTPS證書
添加完成自己的域名之后發現居然還可以使用CDN加速,就點擊配置,按要求下一步,然后再CDN中就有了這個新解析的2級域名,但是有個紅點提醒要進行手動進行CNAME解析,繼續就按要求完成CNAME解析,這樣每次訪問我的圖片就可以通過CDN加速訪問了,所以在當初購買OSS時候選擇的服務器地址在北京就沒啥重要的了,常訪問的文件都在CDN里直接幫咱提高了訪問速度。
然后就是HTTPS證書,CDN都弄了不再加個證書怎么行,直接提交申請免費的,綁定就能用了。因為都是一次性到位弄好的,沒來得及截圖,相信在仔細看這篇文章跟著實操的小伙伴應該能搞定的。
【CDN小知識】把常訪問的文件放置在就近阿里全國各地地的服務器節點上,提高用戶體驗,簡單說明就是我雖然把文件存在北京的服務器OSS上,但是海南的用戶實際訪問到的是CDN把我的常用(常被訪問圖片)臨時的放置的廣東或者深圳的CDM服務器節點了。這是一個很流行的提高用戶前端瀏覽效率的工具服務,按流量收費也要不了多少錢的(我對自己的博客很自信)。
就是我的域名先指向CDN給我分配的一個專用地址,然后那個CDN專用地址再指向了OSS的源bucket專用地址,實現了一個數據流的更快更安全的訪問我傳的圖片。
配置和使用PicGo
這是個開源軟件,可以再GitHub找到源碼的,我從github上下的window安裝包。“閃電”般的速度下載了40分鐘。
- keyid和keysecret 這個是阿里賬戶專用的一個密鑰,從頭像這里找到,沒有就創建一個,有就自己回憶回憶存哪了,或者新建一個子密鑰
- 空間名就是bucket的名字
- 儲存區域就是你當時選的服務器地區的編碼從控制臺可以找到
- 最后的自定義域名就是你在用你圖床外鏈的時候要顯示的域名,可以用默認阿里給你分配的,也可以用自己綁定的自己的個人域名,我就用了自己的解析的http://pic.dengho.org,加上我安裝了https證書,所以前面還能加個S。
【HTTPS小貼士】盡量上個證書加一下這個不起眼的S,現在微信對不是https的域名使用都限制了訪問,支持更安全的https訪問是主流趨勢,偷一次懶之后又全得補上我都不敢想象有多麻煩。
- 使用也非常簡單,上傳就是拖拽和剪切板上傳2種,我試了一下可以一次拖拽多張圖片上傳,剪切板上傳除了用電腦截圖的方式、也同樣可以復制其他網站上的(例如百度圖片、微博圖片)直接粘貼上傳。
- 上傳成功的圖片會在圖床相冊里,只有點擊一下想要用的圖片的左下角的復制按鈕就能直接變成現成的Markdown圖床鏈接樣式,就可以直接愉快的插入MD編輯器中使用了,像下面這樣。更多的操作方法可以直接查看PicGo操作手冊。
3. 新圖床的撰文及發布工作流
3. 提交更新,推送更新(git add. & git push)
4. 把博文md代碼復制到簡書,點擊發布會自動化簡書本地化圖床地址(省圖床流量至關重要的一招)
5. 用自媒體工具把簡書上的文章群發到所有自媒體平臺,更新上傳圖片都是不需要從我圖床地址讀取了而是從簡書的圖床下載插圖,這也是我敢使用按量收費的重要原因了。
大家有其他關于搭建圖床的問題都可以私信或評論與我交流。
總結
以上是生活随笔為你收集整理的直接用自己服务器做图床可以吗_我花 9 块钱搭了一个“私人图床”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: desktop docker 无法卸载_
- 下一篇: python 状态码转字典文本_pyth