前言
相信喜歡寫部落格的童鞋都或多或少使用markdown來寫的部落格,使用markdown很香,真的很香,但是寫完了上傳到網頁上就犯難了,圖片是以連結/路徑插入進markdown文字里的,意味著圖片還要一張一張的上傳到網頁。
這不能忍,所以需要用到圖床,圖床說白了就是上傳圖片,並且生成所有人都能訪問的外部連結,這樣我們用markdown寫的部落格就完整了。
現存的圖床有免費的也有收費的,免費的缺點就是不穩定,或者完全掛掉,如果還沒有備份的話,那可真上頭,比如我使用的sm.ms這個。收費的呢,穩定,可控,但是對荷包不友好巴拉巴拉~
本文的重點就是自建圖床,完全免費的有,收費的也有,typora的使用不在這裡敘述。
接下來進入正題~
一,使用Github搭建免費圖床
好處:免費,免費,免費
壞處:不穩定,可能讓你的部落格有時候會載入不出圖片
1. 新建圖床倉庫
2. 建立token 密匙
點選:頭像 -> ①settings -> ②Developer settings -> ③Personal access tokens -> ④Tokens (classic) -> ⑤Generate new token -> ⑥Generate new token (classic)
得到如下畫面,繼續~
然後直接到底部點選就行了
得到如下紅框裡的東西,一定要複製儲存下,此介面離開後就看不到了!!!
3. 配置picgo的github外掛
關於picgo是什麼以及如何與Typora互動這裡暫不做介紹
配置解釋:
設定倉庫名:(你的賬號ID)/(你的倉庫名)
設定分支名:如果你建立的時候沒有特別配置分支的話,一般都是 main
設定 token:就是上一個步驟生成的tokens
設定儲存路徑:必須以/結尾,會儲存到你的倉庫目錄下的這個目錄內
設定自定義域名:建議使用免費的cdn開頭https://cdn.jsdelivr.net/gh/後面再接倉庫名裡的內容
點選確定,再點選設為預設圖床,大功告成!
然後就可以比較愉快的使用免費圖床了~
二,使用各大廠雲OCS物件儲存搭建圖床
好處:很穩定,有些大廠還有免費的CDN,又快又好
壞處:收費的,具體看你使用哪些套餐。個人使用也不是貴到離譜那種。
這裡是以騰訊云為例,其他的雲基本相似。
隨便百度一下雲物件儲存,就會出來一堆廣告,看來沒有對手的度娘也在瘋狂擺爛了。
這裡挑選其中一條,騰訊雲的1塊錢50G的物件儲存(點我)
宣告:沒有打廣告,如果給騰訊雲引了流,麻煩結一下廣告費,蟹蟹~
好的,進入正題~
1. 建立儲存桶
然後配置基本資訊
然後一直下一步,再點建立。成功建立儲存桶。
記錄下儲存桶的名稱,和所屬地域的代號,如上圖的紅框部分,也就是 ap-guangzhou
,後面會用到
2. 建立 API 秘鑰
進入 【訪問管理】 - 【訪問秘鑰】 - 【API 秘鑰管理】(點此訪問),會提示是否使用子賬號管理,可根據實際需要進行選擇,這裡我們直接使用主賬號進行建立。
建立成功,將 APPID,SecretId,SecretKey 儲存下來,非常重要,謹防外洩。
3. 配置PicGo外掛
新版的PicGo外掛列有自帶騰訊雲Cos外掛,這裡我們就不用下載了。
配置列表:
這裡選擇V5,然後將之前步驟的相關引數填入進去,點選確定並且點選設為預設圖床。
注意:儲存路徑必須以/結尾,否則就會變成上傳圖片的字首。
測試一波先
點選上傳,發現已經成功上傳啦
到這就完成了~
三,使用雲伺服器搭建圖床
好處:很穩定,很可控,自由度高,適合折騰
壞處:也是收費的,但是對於新人挺便宜的。再就是門檻稍微高一些,需要花時間精力
前提:
- 有一個雲伺服器並且安裝了寶塔皮膚
- 在安裝寶塔皮膚的時候一鍵安裝了LNMP
- 有一個有證照的域名並且正確解析到這個伺服器的IP
網上很多大神都有製作輪子,我們拿來使用就行,下面介紹幾個使用量最多的
1. 使用chevereto 自建圖床
簡介:
Chevereto 是一款自建圖床程式
Chevereto 支援多使用者系統、相簿集、統一儀表板、HTML 可拖曳式上傳、桌面版上傳外掛、多種外部儲存(Amazon S3、Google Cloud、阿里雲 OSS 等)、自定義主題、多語言、CDN 和自定義 API 等功能。
程式本身收費,但有免費版,功能受限,個人使用也是足夠的
免費版 Chevereto 連結:https://github.com/rodber/chevereto-free
更新頻繁,當前最新版本 1.6.2
環境:
Chevereto 依賴環境 PHP,MySQL,Nginx
- 建議 PHP 版本7 以上
- MySQL 5.7 以上
- Nginx 1.2
新建網站
點選 網站 -> 新增站點
點選提交
配置網站
點選剛才新建的站點
配置SSL
將你此域名對應的證照的.key檔案和.pem檔案內容分別複製到下圖左右,並點選儲存。
ps: 域名證照是需要下載的,下載下來是一個壓縮包,解壓出來即可看到對應的格式的檔案。
重新整理一下即可看到證照已部署
配置原始碼
-
建站除錯成功後,刪除目錄下的
index.html
和404.html
-
然後下載原始碼,推薦下載1.3.0的版本,版本太高會開啟一片空白,原因沒有深究,下載連結:https://github.com/rodber/chevereto-free/archive/refs/tags/1.3.0.zip
-
將此連結使用檔案中的遠端下載,然後解壓出來,將解壓後的目錄chevereto-free-1.3.0中的所有內容複製到你的網站目錄下
-
並且右鍵你的網站目錄,給此目錄並且包含子目錄及檔案的777許可權
給網站配置偽靜態:
location / {
if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } try_files $uri $uri/ /api.php; } location /admin { try_files $uri /admin/index.php?$args;
}
然後點選儲存
然後到這裡網站就配置完成了~
配置chevereto
瀏覽器開啟你新建的網站,它會自動進入安裝介面
如下是配置資料庫資訊
將新建網站時的資料庫資訊填入那三個框就行,其他預設就好
然後點選繼續,進入到管理員配置
點選安裝,恭喜,已經可以用了~
ps: 如果英語不好的話,可以點選頭像 -> settings -> Language -> 在下拉窗選擇簡體中文就好
配置PicGo的上傳外掛
點開PicGo的外掛設定,搜尋並且安裝Chevereto Uploader
配置Chevereto Uploader
這裡只需要填兩項:
Key:按照如下配置拿到
然後點選確定並且點選設為預設圖床
開始享用吧!~
2. 使用EasyImage自建
簡介:
GitHub開源地址:https://github.com/icret/EasyImages2.0
文件地址:https://www.kancloud.cn/easyimage/easyimage/2625222
Demo地址:https://png.cm/
作者部落格:https://blog.png.cm/
環境:
EasyImage 依賴環境 PHP,MySQL,Nginx
- 建議 PHP 版本7 以上
- MySQL 5.7 以上
- Nginx 1.2
- PHP外掛 Fileinfo
這裡單獨提一下安裝fileinfo外掛
新建網站
點選 網站 -> 新增站點
點選提交
配置網站
點選剛才新建的站點
配置SSL
將你此域名對應的證照的.key檔案和.pem檔案內容分別複製到下圖左右,並點選儲存。
ps: 域名證照是需要下載的,下載下來是一個壓縮包,解壓出來即可看到對應的格式的檔案。
重新整理一下即可看到證照已部署
配置原始碼
-
建站除錯成功後,刪除目錄下的
index.html
和404.html
-
然後下載原始碼,推薦下載最新的2.6.7的版本, 連結:https://github.com/icret/EasyImages2.0/archive/refs/tags/2.6.7.zip
-
將此連結使用檔案中的遠端下載,然後解壓出來,將解壓後的目錄EasyImages2.0-2.6.7中的所有內容複製到你的網站目錄下
-
並且右鍵你的網站目錄,給此目錄並且包含子目錄及檔案的777許可權
-
關閉放跨站
然後瀏覽器開啟你新建的域名, 進入管理員使用者配置
根據提示一步步來就好, 這個配置很簡單
配置PICGO的上傳外掛
點開PicGo的外掛設定,搜尋並且安裝Web Uploader
配置Web Uploader
需要配置4個引數:
API地址:你的網站地址+/api/index.php,例:https://pic.xxxx.com/api/index.php
POST引數名:image
JSON路徑:url
自定義Body:{"token":"8337edadadadd9c5899f3509b23657"},關於token怎麼獲得,如下圖
配置完成後,就可以愉快的上傳了
3. 使用SFTP自建圖床
- 伺服器配置比較簡單,這裡就不做詳細介紹了,原理就是基於FTP/SFTP來實現的.
- 然後就是PICGO部分也是安裝一個SFTP外掛,配置好伺服器的域名地址和相關賬號資訊
- 就可以愉快的使用了
4. 還有一些其他的
例如藍空圖床啥的,和1/2搭建的方式基本一致,這裡不做贅述.
建議關閉網站的NGINX防火牆,除非你會配置規則,否則會出很多意想不到的問題
Q&A
Q: 為什麼按照本文配置完後,輸入我新建的網站域名打不開?
A: 檢測一下域名是否有解析到這個伺服器
Q:為什麼網站剛開始能開啟,但是我上傳了一張圖片後就打不開了
A:檢查一下該網站是否開啟了防火牆,並且你的IP被短暫的封禁掉了
Q:為什麼網站能開啟,能網頁上傳,但是使用PICGO就就上傳不了
A:檢查一下SSL證照是否有正確配置,並且檢視PICGO的日誌,就能很準確的知道是什麼原因造成的
end
感謝閱讀~
希望能幫到你~
see you~
碼字不易,轉載請註明原作者 ~ (from:https://erdong.work)