用MiniPC搭建個人伺服器

2023-03-05 21:00:54

最近突然對小型電子產品產生的興趣,經過一段時間調查,最終選擇從迷你PC下手。因為類似樹莓派的產品,還是有一定的上手門檻的。開發板類的產品也更偏硬體一點。而迷你PC除了小一點,其實就是一臺電腦,我之前也有一些組裝經驗,還可以學習一下Linux和運維知識,技能點上也更契合我的職業。

硬體介紹

硬體規格

  • CPU:英特爾13代處理器N100,4核4執行緒,最高頻率3.4GHz,配備24個EU的核顯,頻率是750MHz,TDP 6W。
  • 記憶體:單通道32G 3200mhz。
  • 硬碟:1TB M2 2280 PCIE 3.0 SSD,還有一個M2 2242 SATA介面沒有安裝硬碟。
  • 其他:支援WIFI6和藍芽5.2

硬體展示




系統設定

Ubuntu安裝

Ubuntu桌面版映象下載:https://ubuntu.com/download/desktop
啟動盤製作軟體:https://www.balena.io/etcher

開啟balenaEtcher後選擇U盤和下載的iso檔案即可,等待燒錄完成。
後面安裝Ubuntu網上有很多資料,就不仔細展示了。

SSH

參考文章:https://cloud.tencent.com/developer/article/1638882

在設定SSH時,一定要記得關閉防火牆,或者開放22埠。因為我這臺機器還沒有內網穿透,無法從外網存取,所以我關閉了防火牆,方便後續其他軟體的安裝。
接著可以下載連線SSH的工具,因為我是Windows系統,我選擇的是Xshell。Xshell其實是有提供免費版的,存取這個網站,填入郵箱地址和姓名後,Xshell官方會把免費版的下載連結傳送至你的郵箱。最好勾選兩者,有時候也會用上Xftp。

軟體安裝

NetData - 硬體資源監控

頁面非常炫酷的硬體資源監控工具,只需要一個命令即可安裝啟動。

bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)

隨後在瀏覽器上存取:your_ip:19999 即可。

頁面右手邊就是可以監控的系統指標,還可以選擇時間點,回看之前的系統資源使用情況。

Docker - 虛擬機器器容器

參考文章:https://zhuanlan.zhihu.com/p/143156163

安裝完Docker後,它是預設隨系統自啟動的,所以後面在啟動Docker映象時,最好也配上自動重啟,這樣主機重啟後也不需要再次啟動映象了。在docker run命令後加上--restart=always引數即可。

Portainer - Docker管理工具

參考文章:https://blog.csdn.net/qq_42411805/article/details/124506368

安裝完後,瀏覽器存取:your_ip:9000,第一次存取需要註冊、登入、設定。docker管理方式選擇local就行,其他的保持預設就行。

Uptime Kuma - 服務監控工具

執行命令:docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
用瀏覽器存取:your_ip:3001。第一次存取也需要註冊、登入。進入到主頁後點選左上角【新增監控項】,設定一下服務的介面就行,它會定時去存取介面以確保服務正常。

本文啟動的一些服務都很簡單,沒有什麼鑑權機制,如果你的服務介面更復雜,裡面的HTTP選項基本都能滿足你的要求。

Flame - 應用和書籤導航管理工具

執行如下命令

docker pull pawelmalak/flame
docker run -d --restart=always -p 5005:5005 -v /path/to/data:/app/data -e PASSWORD=123456 pawelmalak/flame

瀏覽器存取:your_ip:5005。第一次進入需要登入密碼,密碼就是上面命令中的123456。進到主頁面選擇新增應用,填入你的應用地址,選擇圖示即可。這個服務的主頁就可以當一個導航頁,把你的服務都新增進來,後續通過它進去就行了。

青龍面板 - 薅羊毛工具

青龍面板是一個基於Docker的定時任務執行系統,可以定時執行一些指令碼。常用來薅羊毛,比如JD定時簽到領取京豆。

參考文章:https://www.jianshu.com/p/ed10829b7cb0

這個工具安裝過程相較於上面稍微有點複雜,不過上面這個教學寫的非常詳細,仔細看看,問題應該不大。

最後

效果展示

  • 硬體資源監控

  • 服務監控

  • Docker管理

  • 青龍面板

  • Flame導航頁

  • 主機暫時就和WiFi擱一起吧


TODO

首先得明確一下需求,我暫時沒有路由和NAS的需求。這臺機器的需求主要是完全替代掉雲伺服器,畢竟差不多設定的雲伺服器價格也不便宜。目前計劃的TODO如下:

  • 內網穿透,非區域網也能存取。
  • 使用Nginx代理服務,搞一個登入驗證。
  • 部署個人網站。
  • 弄一套CICD系統,方便自己的程式碼快速編譯、部署。不過為了資料安全起見,程式碼還是放在Github上,其餘模組部署在MiniPC上。