打造你自己的在線記事本:Memos 從零搭建指南(小白友好)
記錄靈感不再靠微信“文件傳輸助手”!讓我們用 Docker 搭個開源、輕量、的 Memos 卡片式筆記簿!適合記靈感、寫讀後感、記流水賬……也可分享給你的好朋友使用
相關文檔:https://jinruncheng.blog/archives/set_memos
相關視頻:https://www.bilibili.com/video/BV1iq7dzjEnn/
Memos 是什麼?
這是一個開源的碎片化知識卡片管理系統,支持私有部署,可以本地存儲數據,UI簡潔!🐳 一條 Docker 命令搞定部署!
能幹嘛?
①耍酷:讓你的朋友下載memos一起用
②替代:微信傳輸助手,傳輸學習資料
③ 記隨筆 / 靈感火花/私密文件
官方 Demo:https://demo.usememos.com/
準備工作(參考這篇博客https://jinruncheng.blog/archives/head)
步驟 ①擁有1臺服務器
②擁有一個域名
③下載Moabxterm
④開始連接
⑤先贊後看,養成習慣
第一課:更新你的 VPS 系統(正式開始之前,先來一次保養)
你的 VPS 就像一輛剛開來的二手車——跑是能跑,但誰知道有沒有什麼陳年舊貨或補丁沒打?
所以第一步我們要給系統 檢查一下更新,順手再裝幾個常用的工具。只要做一次,不會很複雜。
1.1 執行命令(任選其一)
方法一:推薦組合(更新系統 + 安裝常用工具)
apt update
apt install wget curl sudo vim git -y
方法二:直接升級整個系統(暴力全更)
sudo apt update && sudo apt upgrade -y
1.2 拆詞解釋(小白速通、老鳥可跳)
1.2.1 第一句拆解
1.2.1.1 什麼是 apt?
apt 是 Linux 系統用來安裝、管理軟件的命令行工具
全名是 Advanced Packaging Tool(高級打包工具)
你可以把它當成:
Linux 裏的“命令行 App Store”
我們用它來:
apt update 更新一下“商店裏的目錄”
apt install 安裝軟件
apt upgrade 把你已經裝的軟件統統更新一遍
1.2.1.2 那 apt update 幹了啥?
apt update
就像打開 App Store 然後手動下拉刷新一樣。它:
不會裝東西
不會更新系統
只是去“拉一份最新版目錄”
所以:
apt update 的意思就是:“我看看現在倉庫裏都有哪些新版本軟件,先做個準備。”
1.2.2 第二句拆解
方法二的 apt install wget curl sudo vim git -y 是在幹嘛?
wget curl sudo vim git是5個常用工具,後續教程裏會經常用到
install字面意思:安裝
1.2.2.1 wget:下載小能手
全稱:Web Get
用來從網頁上“抓取文件”
你可以理解成命令行裏的瀏覽器 → 但它只管下,不預覽
例子:
wget https://xxx.com/abc.sh
就等於用瀏覽器點了一下“下載”按鈕。
1.2.2.2 curl:網絡萬能膠
全稱:Client URL
比 wget 更強大,可下載、上傳、發接口請求……
是很多腳本里的必備工具(你看到一堆 curl | bash,就是它)
curl 更適合開發者調接口,wget 更適合普通下載。
1.2.2.3 sudo:授權大法
全稱:Superuser Do
讓你“以管理員身份”執行操作
比如:
sudo apt install docker
意思是:“我知道這事需要管理員權限,來,讓我以超級用戶身份執行。”
沒有 sudo,很多命令都權限不夠。
1.2.2.4 vim:終端裏的記事本
是一個文本編輯器
可以用來寫配置文件、寫腳本、改文檔
雖然操作有點反人類,但學一點點就夠了:
→ 輸入 vim xxx.txt 就能編輯文件。
1.2.2.5 git:版本管理工具
用來管理代碼版本,也能 clone 代碼倉庫
我們等下部署 Memos,可能就會用它下載 GitHub 上的項目文件
git 之於程序員,就像 Excel 之於會計。
1.2.2.6 -y 是啥?
意思是 “yes to all”
安裝過程中遇到“你確定要繼續嗎?(Y/n)” → 自動回答:是!繼續!別問了!
1.2.3 第三句拆解
sudo apt update && sudo apt upgrade -y
你可以理解成:
sudo apt update:去看看倉庫有什麼新版本
&&:並且的意思,其他各種語言基本都是這個符號。效果:如果上一步沒出錯,繼續執行下一步
apt upgrade -y:就把我係統裏所有老舊的軟件都更新一下
1.2.4 倆種方式對比
你的目標 推薦命令
裝幾個常用工具就好 apt update && apt install wget curl sudo vim git -y
順手把系統也一起升級 sudo apt update && sudo apt upgrade -y
你是 root,不用 sudo 可以去掉 sudo,寫法更簡單
🎯 建議第一次玩 VPS 的同學選 方法一:能裝工具,也不太容易出錯。
第二節課(1/3):安裝 Docker & Docker Compose
這一節我們來解決最關鍵的一件事:裝上 Docker!
2.1、執行命令(非大陸 VPS)
如果你用的是非大陸 VPS(比如 Racknerd紐約,騰訊雲香港 等),下面這幾條命令直接複製運行就行:
# Docker 一鍵安裝
curl -fsSL https://get.docker.com | bash
# Docker Compose 安裝
sudo curl -L "https://github.com/docker/compose/releases/download/v2.36.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# 設置 Docker 開機自啓
sudo systemctl enable docker
2.2、拆詞解釋(小白速通、老鳥可跳)
我們還是來“逐詞拆解”,看看這些命令到底做了啥!
2.2.0 Docker 是什麼?
一句話解釋:
Docker 就是一種“打包好了一切的萬能軟件盒子”。
你可以把 Docker 想象成是一個“快餐打包盒”,把軟件程序、它需要的環境(比如系統依賴、庫、配置等)全都打包在一起,放進一個小盒子裏。這種小盒子我們叫做 容器(Container)。
這個容器你拿到哪臺機器上運行都行 —— 不怕“依賴裝不上”,也不怕“系統版本不對”。
2.2.1.1 舉個例子:
比如你想在 Ubuntu 服務器上運行一個網站,它需要:
Python 3.11
某個版本的 Flask 框架
某些 Linux 系統依賴包
一個配置好的 nginx 網頁服務器
用傳統方式,你要手動安裝、調試這些東西,很容易出錯、版本不兼容,搞起來非常麻煩。
但如果別人把整個網站 + 所有環境都“打包”成了一個 Docker 容器,你只要一條命令就能跑起來:
docker run example/website
就像點了一份外賣,熱好了就能喫,完全不用自己炒菜!
2.2.1.2 Docker 在 Linux(比如 Ubuntu)裏到底幹了什麼?
在 Ubuntu 中,Docker 起到了兩個主要作用:
“虛擬廚房”功能:
它讓每個軟件都在“自己的隔離空間”運行,互不干擾,像是一個個微型系統。
—— 這樣你可以在一臺機器上同時運行 10 個服務,它們之間互不打架。
“一鍵部署神器”:
Docker 容器是標準化的,一份鏡像在任何一臺裝了 Docker 的機器上都能跑。
—— 極大地方便了部署和備份。
2.2.1.3 爲什麼大家都在用 Docker?
好處 解釋
✅ 輕量 跑得快,不像傳統虛擬機那麼重。
✅ 隔離性強 一個服務崩了,不會影響別的。
✅ 快速部署 一條命令搞定整個網站或項目。
✅ 開發友好 團隊都用一樣的容器,不用再“你這能跑,我這報錯”。
總之,Docker 就是幫你“打包”和“跑程序”的神器,適合把一個服務一鍵部署在服務器上,尤其是 Linux 服務器如 Ubuntu。
2.2.1 第一句拆解
curl -fsSL https://get.docker.com | bash
2.2.1.1 curl 是什麼?
curl 是一個用來從互聯網下載內容的命令行工具。
你可以把它當成“命令行版的瀏覽器”:
輸入網址,它就能下載頁面
支持 HTTPS、FTP 等協議
常用於下載腳本、API 請求等
在這條命令裏:
curl -fsSL https://get.docker.com | bash
它就是從 https://get.docker.com 下載一個 自動安裝 Docker 的腳本,並交給 bash 執行。
2.2.1.2 -fsSL 是啥意思?
這是四個常見的 curl 參數縮寫:
參數 意義
-f 出錯時不輸出錯誤頁面(fail silently)
-s 安靜模式,不顯示進度條(silent)
-S 和 -s配合,在出錯時才顯示錯誤信息
-L 遇到重定向(302/301)時自動跟隨(location)
所以,這段命令的意思就是:
“從 get.docker.com 安靜地下載腳本,如果遇到重定向也能順利跳轉,然後交給 bash 執行。”
2.2.1.3 bash 又是幹嘛的?
這是 Linux 默認的命令解釋器,常見的 shell。
你可以簡單理解爲“命令行的大腦”,它負責:
接收你的命令
按順序執行腳本里的命令
報錯 / 提示 / 輸出結果
所以整個命令翻譯成中文就是:
“請從 Docker 官網下載官方安裝腳本,然後交給系統自動執行,給我裝好 Docker。”
2.2.2 第二句拆解:
sudo curl -L "https://github.com/docker/compose/releases/download/
v2.36.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
這一大串其實就是:
下載 對應你係統版本 的 docker-compose 二進制文件
放到 /usr/local/bin/ 路徑下(這是默認可以執行的路徑)
✅ $(uname -s) 是獲取你當前系統的類型(比如 Linux)
✅ $(uname -m) 是獲取你當前的 CPU 架構(比如 x86_64)
它們組合起來後,自動匹配適合你服務器的版本,不用手動挑!
2.2.2.1 sudo 是啥意思?
sudo 是 “Super User DO” 的縮寫。
📢 就是“以管理員身份執行命令”的意思。
有點像 Windows 的“以管理員身份運行”。
爲什麼要用 sudo?
因爲 /usr/local/bin/ 是系統級路徑,普通用戶沒權限往裏寫文件,所以得提權。
2.2.2.2 chmod +x 又是幹嘛的?
chmod 是 “change mode”,改權限的意思。
+x 是加上可執行權限。
也就是說:我們把下載下來的 docker-compose 文件設爲“可以運行的程序”。
沒有這一句的話,文件是死的,不能運行!
我建議你先把這些命令複製粘貼跑一遍,然後回來再細品上面的解釋 😎
第三節課我們將正式開始創建memos文件夾,開始拉取memos部署到服務器上,然後別人就可以通過 www.你的名字.com 訪問你的memos啦!
我的博客已更新,小黑盒1天2更
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com