用MiniPC搭建個人服務器
最近突然對小型電子產品產生的興趣,經過一段時間調查,最終選擇從迷你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
在配置SSH時,一定要記得關閉防火墻,或者開放22端口。因為我這臺機器還沒有內網穿透,無法從外網訪問,所以我關閉了防火墻,方便后續其他軟件的安裝。
接著可以下載連接SSH的工具,因為我是Windows系統,我選擇的是Xshell。Xshell其實是有提供免費版的,訪問這個網站,填入郵箱地址和姓名后,Xshell官方會把免費版的下載鏈接發送至你的郵箱。最好勾選兩者,有時候也會用上Xftp。
軟件安裝
NetData - 硬件資源監控
頁面非常炫酷的硬件資源監控工具,只需要一個命令即可安裝啟動。
bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)
隨后在瀏覽器上訪問:your_ip:19999 即可。
!
頁面右手邊就是可以監控的系統指標,還可以選擇時間點,回看之前的系統資源使用情況。
Docker - 虛擬機容器
安裝完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定時簽到領取京豆。
這個工具安裝過程相較于上面稍微有點復雜,不過上面這個教程寫的非常詳細,仔細看看,問題應該不大。
最后
效果展示
- 硬件資源監控
- 服務監控
- Docker管理
- 青龍面板
- Flame導航頁
- 主機暫時就和WiFi擱一起吧
TODO
首先得明確一下需求,我暫時沒有路由和NAS的需求。這臺機器的需求主要是完全替代掉云服務器,畢竟差不多配置的云服務器價格也不便宜。目前計劃的TODO如下:
- 內網穿透,非局域網也能訪問。
- 使用Nginx代理服務,搞一個登錄驗證。
- 部署個人網站。
- 弄一套CICD系統,方便自己的代碼快速編譯、部署。不過為了數據安全起見,代碼還是放在Github上,其余模塊部署在MiniPC上。