工欲善其事,必先利其器。這篇文章教你 Typora + PicGo + LskyPro 打造舒適寫作環境。
作者:IT王小二
博客:https://itwxe.com
不知不覺停更好多天啊,最近比較工作和業余都比較忙。工作忙着修bug和寫 bug;業余最近折騰了一下博客,使用了泛域名,Nginx配置拆分,博客網站樣式優化,博客增加CDN等等...后面這些都會寫成文章,感興趣的小伙伴歡迎關注啊。
寫作方面圖床從自建 MinIO 遷移到了自建圖床 Lsky Pro,這也是本篇的重點內容啦,同時開通了自己的微信公眾號,也自己使用開源工具 doocs/md 搭建了 一鍵把 Markdown 轉換為微信公眾號文章頁面,接下來會同時往微信公眾號同步文章。
閑聊結束,接下來正文開始。
一、Typora+PicGo+Lsky Pro的作用
Typora:所見即所得的 Markdown 編輯器,支持 MacOS、Window、Linux 平台,超多的快捷鍵,大大的提高寫作效率。
PicGo:將圖片上傳到圖床的工具,支持目前主流的圖床和對象存儲(阿里雲 OSS、騰訊雲 COS等)。和 Typora 搭配使用,可以將本地截圖的直接復制到 Typora 后自動上傳圖床,返回圖床圖片鏈接,免除保存本地圖片、路徑錯誤等問題的煩惱。同樣支持 MacOS、Window、Linux 平台。
Lsky Pro:一個開源圖床,用來最終存放圖片的地方,支持第三方雲儲存,本地、阿里雲 OSS、騰訊雲 COS、七牛雲、又拍雲、FTP。
二、Lsky Pro的搭建
1. 為什么選擇Lsky Pro
可以說要是寫 MarkDown沒有個圖床,光文章里面的圖片就能把你折騰瘋掉,剛開始使用 MarkDown 的小伙伴相信深有體會。
當然有小伙伴會使用各種第三方圖床,而第三方圖床啥優點都有,唯一的缺點那就是如果第三方圖床跑路了,那么你的圖片就都沒了。所以,為了保證自己數據的穩定性,有服務器的情況下自建圖床是比較好的選擇。
前面也提到了,之前我寫文章一直使用的是類似於阿里雲 OSS、騰訊雲 COS的對象存儲開源工具 MinIO,MinIO足夠輕量,不依賴其他第三方組件,搭建起來簡單好用,一行命令就能搭建搞定。想要知道MinIO怎么配合使用的可以留言啊,要是人多我就出一篇文章,哈哈哈。
可惜最近我的需求上升了,想要一個更方便管理和預覽圖片,同時能夠將圖片自動水印的圖床,
這時候請求一下萬能的谷哥、度姐,鎖定了兩個好用的開源圖床,Lsky Pro 和 Chevereto-Free,其實就目前來說如果不需要將圖片存儲到第三方雲存儲的話,那么 Chevereto-Free 可能是一個比較好的選擇,不過可惜 Chevereto-Free 的作者已經宣布 Chevereto-Free 即將在 2021年12月31日結束維護,專注於他們的付費版本,所以最終我選擇了 Lsky Pro 來搭建圖床。
2. 使用Docker搭建Lsky Pro圖床
Lsky Pro源碼GitHub地址:https://github.com/wisp-x/lsky-pro
Lsky Pro官方文檔地址:https://www.kancloud.cn/wispx/lsky-pro
從 Redeme 里面也可以看到,Lsky Pro 是一個 PHP 寫的程序,我作為一個 Java 程序員,Vue項目我都能部署一下,PHP 項目的部署,我屬實不會啊,那咋辦,我聰明的小腦袋一轉,天下還有我 Docker 部署不了的項目。心里默念一句 Docker,真香!
然后令我傻眼的是,我一翻官方安裝文檔,Lsky Pro 目前還不支持 Docker 部署,我...GitHub搜索一下,就沒有我小二解決不了的事情。果然找到了一個小哥哥或者小姐姐提供的 Dockerfile文件,這下不就好起來了,這里貼上小哥哥或者小姐姐的 Dockerfile 地址:https://github.com/Handsomedoggy/lsky-pro/blob/master/Dockerfile,感謝感謝。
下面安裝我會使用 Docker 來安裝 Lsky Pro 圖床,鏡像已經打包到 我的 Docker 倉庫,小伙伴們直接使用就好啦。
我的 Docker 文件地址放在我自己的 GitHub 倉庫:https://github.com/itwxe/lsky-pro/tree/itwxe,如果你對 Docker 比較熟悉,可以 clone 項目后自己編譯成鏡像,其中用來構建鏡像的文件是:000-default.conf、entrypoint.sh、Dockerfile,就下面圖中的文件啦。
當然,你要是對 PHP 熟悉,當然你也可以自己按照官方文檔來搭建。
環境說明:
操作系統:CentOS7.6
Docker版本:docker-ce-18.09.9
Lsky Pro版本:1.6.3
MySQL版本:5.7
安裝前提
前提需要安裝好 Docker 和 MySQL,如果你已經有這兩個環境了,那么可以跳過這個步驟;如果沒有這兩個環境小伙伴可以分別查看下面兩篇文章
安裝好 MySQL 之后需要創建數據庫 lsky,后面配置需要用到,命令及過程截圖如下:
# 進入docker mysql容器
docker exec -it mysql /bin/bash
# 登錄MySQL
mysql -uroot -p
# 創建數據庫lsky
create database if not exists lsky default character set = 'utf8mb4';
安裝 Lsky Pro
以前我一般都使用虛擬機來演示,此處使用演示的服務器是我的騰訊雲香港服務器,使用滿199-100券薅羊毛來的試驗機。
有了 Docker 和 MySQL 環境之后,安裝 Lsky Pro 也變得極為簡單,同樣一行命令搞定:
docker run -d --name=lskypro -p 4080:80 -v /itwxe-hk/dockerData/lskypro:/var/www/html itwxe/lskypro:1.6.3
啟動過程截圖:
啟動成功之后訪問 http://ip:port,當然如果你要搭配 域名 + https 使用,在控制台配置域名映射服務器后,我的Nginx配置參考如下:
server {
listen 443 ssl;
server_name images.itwxe.com;
ssl_certificate /usr/local/nginx/ssl/any/fullchain.cer;
ssl_certificate_key /usr/local/nginx/ssl/any/itwxe.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 30m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5:!EXPORT56:!EXP;
ssl_prefer_server_ciphers on;
proxy_connect_timeout 500;
proxy_send_timeout 500;
proxy_read_timeout 500;
client_max_body_size 10m;
location / {
proxy_pass http://127.0.0.1:4080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header REMOTE-HOST $remote_addr;
}
}
當然這里試驗機我就不映射域名了,我的地址是 http://43.132.156.226:4080
,就可以看到下面的界面了,當然你看到這篇文章的時候可能這個地址已經訪問不了了,試驗機通常試驗完都會快照回滾的。
看到這個界面之后點擊下一步,輸入你的 MySQL 地址,用戶名密碼等信息,點擊配置數據庫。
配置之后輸入你的管理員信息。
安裝成功后的截圖。
用你配置的管理員賬號登錄后就可以管理了,全界面化中文操作,相信小可愛們看到界面多點點就知道使用啦,例如關閉注冊、不允許游客上傳等等都在界面上可以配置啦。其中有個地方需要注意的就是需要開放 API 接口,后期 PicGo 需要使用接口上傳圖片到圖床,配置如圖:
設置之后刷新界面界面就會出現接口菜單了,如圖:
這個界面中標紅的兩個東西我們后面需要使用,當然這里的 Token 是示例 Token, 自己生成的 Token 千萬不要暴露給別人,當然我的是實驗機器,所以無所謂啦,你看到這篇文章的時候已經訪問不了了,訪問鏈接 http://43.132.156.226:4080/api/token?email=itwxe@qq.com&password=123456
,其中網頁地址、端口、email、password 替換成自己的信息,會返回如下圖的 Token.
當然你如果和我一樣有全局水印需求的話,可以閱讀 Lsky Pro 官方文檔或在留言,此處就不細說了,不然這篇文章的篇幅就要太長了,有些東西太長也不好,哈哈哈。
划重點:如果后期需要遷移數據,需要同時遷移圖床數據和 MySQL中 lsky 數據庫的數據,否則數據不完整!
三、PicGo的使用和配置
PicGo GitHub地址:https://github.com/Molunerfinn/PicGo
下載自己系統對應的版本安裝即可啦,安裝之后打開軟件,點擊插件安裝,搜索 lskypro 安裝插件,當然我的已經安裝過了。
安裝成功之后點擊圖床設置,設置為 Lsky Pro 為默認圖床,輸入 Url 和 Token 后確定即可。
四、Typora的使用
Typora官網:https://www.typora.io/
同樣官網下載自己系統對應的版本安裝,安裝之后打開軟件,偏好設置 -> 圖像。
點擊驗證圖片上傳選項,驗證是否可以正常上傳。
驗證成功后只要截圖后,直接 ctrl + v 粘貼到Typora里面就可以自動上傳到自建的圖床並且返回圖片鏈接了,如我正在寫文章的示例結果圖:
最后查看一下我們的圖床,圖片是否上傳。
可以看到,剛才上傳的三張圖片正常上傳到自建的 Lsky Pro 圖床了。
至此,一個舒適的寫作環境就搭建完成了,再也不用為 MarkDown 中的圖片煩惱,當然你要是 MacOS 系統,那么 uPic 工具替代 PicGo 也是個不錯的選擇。
都讀到這里了,來個 點贊、評論、關注、收藏 吧!