之前分享過很多關於“家庭伺服器”的內容,不過有朋友反饋說那些內容太零散,看完後很多疑問。於是我梳理了家庭伺服器搭建的整個流程,把經驗分享給大家:
第一步:選擇硬體
個人伺服器的門檻比你想象的低:一臺兩三百元二手小主機,或者一臺閒置的膝上型電腦舊物利用,或者組一臺ITX主機板和小機箱的低功耗主機。如果你預算充足又不在意功率甚至可以買臺塔式伺服器。總之個人伺服器的硬體價位選擇非常絲滑,從幾百到幾萬都能找到合適的方案。我建議從小主機或者舊筆記本腦開始入門。
家庭伺服器常用的功能有:家用NAS、下載機、智慧家居伺服器、家庭影院、客廳遊戲機、軟路由、監控錄影機等等。要想滿足上面的這些需求,我對小主機的硬體有這幾點建議:
一、CPU4核以上、記憶體8G以上,滿足多工處理的效能需求;
二、有2個以上硬碟位,或至少有1個板載硬碟+1個2.5寸SATA硬碟位(系統和資料分別在2個獨立硬碟上);
三、用作軟路由的小主機最好有2個以上的網口,作為影音伺服器最好支援HDMI2.0以上;
我推薦兩個參考配置:CPU:J4105記憶體:8G 或者CPU:N4100記憶體:8G,價格目前應該在五六百左右。
再分享一個經驗技巧:小主機一般為12V-19V直流供電,低壓的直流供電加UPS的成本比交流供電低很多。網上有很多18650鋰電池的成熟方案,自帶DC公母頭開箱即用。所以建議給小主機配一個充電電池充當UPS,成本不過幾十元。
最適合新手的家庭伺服器硬體,我認為是閒置的舊膝上型電腦。舊膝上型電腦的優勢有這幾點:
一、筆記本自帶電池,相當於自備UPS;
二、筆記本自帶螢幕、鍵盤、觸控板,操作和維護基本不需要其它外設,使用方便;
三、筆記本執行功率一般不高,息屏執行功率一般不超過15W,比小主機高不了多少;
四、筆記本一般有3個硬碟位,拓展儲存方便(筆記本的光碟機位也可以改裝成硬碟位);
舊筆記本價格和同效能的小主機接近,五六百可以淘到能做家庭伺服器的膝上型電腦。不過我也要提醒幾點:
一、舊筆記本的最低效能建議是能支援流暢執行Windows10,過於老舊電腦即使便宜也不建議選;
二、不支援拓展硬碟只有板載硬碟的輕薄本(一般為64G、128G),不建議選;
自己搭建主機的可玩性比上面兩個方案更強。主機相比小主機和膝上型電腦優勢有這幾點是:
一、具有PCI-E介面,擁有強大的拓展能力(加裝萬兆網絡卡、SAS磁碟陣列卡等);
二、可定製多盤位機箱,更適合作為家用NAS;
三、效能上限高,如果不考慮功耗以直接上標壓CPU,效能更強。2000元可以組一臺還不錯個人伺服器,比如銳龍5600G的小主機成本不到3000元,但效能和同價位的NAS已不在一個段位;
如果你的目標是真正的商用伺服器。那麼機架式伺服器、刀鋒伺服器、塔式伺服器這幾類,適合家用的還是塔式伺服器。塔式伺服器和家用電腦的主機差不多大。可以瞭解一下戴爾的Power Edge系列、惠普的 MicroServer Gen系列。標準伺服器硬體無論在價格還是功耗上都更加適合燒友玩家,對於一般使用者而言此類硬體作為家用伺服器效能嚴重過剩。
相信看了上面的內容,大家對於如何選擇硬體以及硬體的價位有了基本瞭解。如果需要我幫忙推薦具體硬體的,可以私信我或者直接留言。
分享一下我自己的硬體方案:由於我上班在異地,所以家裡和出租房分別有兩臺裝置:N4100+8G小主機(當初買是600元)、6200U+8G的ThinkPad(閒置的筆記本),之前還淘汰過一臺HP T610瘦客戶機:AMD T56N+4G(當初買的160元),主要問題是效能不夠用。
第二步:安裝系統
個人伺服器的技術門檻真不高,有的話只有一個:會裝系統,當你把各個系統都嘗試一遍就算成功入門了。
伺服器該選擇什麼系統?和企業場景的伺服器不同是:個人伺服器不需要考慮全年無故障執行,不需要考慮容錯冗餘、甚至防火牆設定都不需要太複雜,所以裝什麼系統還真的挺自由的。市面上NAS能做的事情,Windows10再安裝個Docker for Windows基本都能做。所以不想折騰安裝個Windows10就行。但是我依然強烈推薦Linux發行版,因為SSH實在是太方便了。
如果你想學習Linux,要掌握3個基本技能:一、基本的Bash shell命令;二、Vim的基本操作;三、SSH的本操作。這幾個技能可以在網上找一下教程學習。
Linux發行版很多,我接觸過的有Ubunt(現在在用)、Manjaro、Linux mint(適合配置低的電腦),這幾個可以做到開箱即用,網上參考資料也有一些。國產的Linux可以選Deepin深度。至於Arch Linux、Gentoo linux這類需要編譯安裝的Linux就不適合新手了。如果你的個人伺服器效能過剩(8核以上、32G記憶體以上),想要搭建多系統。可以學習一下ESXi和PVE,透過虛擬化技術讓多個系統同時執行。不過我對於效能不那麼執著,Docker已經可以滿足絕大部分使用場景需求,所以我自己也沒有搭建ESXi的需求。
“如何安裝系統”作為基礎知識我這裡就不講解了,不過我推薦一個系統安裝的神器:Ventoy。Ventoy製作安裝隨身碟後,會產生2個分割槽。空間較小的分割槽是啟動分割槽,較大的分割槽是資料分割槽,把系統映象和常用軟體包放在資料分割槽。
把系統映象複製到Ventoy啟動隨身碟後,設定BIOS從隨身碟啟動即可開始安裝系統。Ventoy最強大的功能是支援同時拷入多個系統映象,可選擇映象安裝,無需重複製作啟動隨身碟。如果進行Windows安裝和維護,你更習慣功能更豐富的PE,我推薦比較好用兩個:優啟通和微PE,其餘的PE系統大多夾帶了不少私貨。
分享一個新手常有的思維誤區:Windows和Linux要二選一嗎?首先永遠不要用飯圈思維想問題。Windows和Linux兩者並不需要二選一,兩個系統都非常強大都值得學習。日常使用Windows更順手,但Linux在一些專業場合也非常強大。
第三步:網路設定
如果你的伺服器有公網IP地址,那麼遠端訪問伺服器並不是一件難事。但是大多數人目前是沒有固定的公網IP的,那麼zerotier、tailscale這類虛擬區域網解決方案可以幫到你。我最早接觸的是zerotier所以以zerotier為案例,tailscale基於wireguard相信效果應該也還可以。
首先到zerotier官網註冊一個賬戶,然後在Networks頁面建立一個虛擬區域網。你會獲得一個NETWORK ID,透過這個ID你可以讓其它裝置都加入到一個相同的虛擬區域網中。
接下來就是在不同的裝置上安裝zerotier的客戶端,然後加入上面設定的NETWORK ID即可。windows客戶端有UI介面操作比較簡單,我主要介紹一下Linux端的操作:
#安裝zerotier
curl -s https://install.zerotier.com | sudo bash
#安裝成功後加入網路
sudo zerotier-cli join NETWORK ID
#重啟一下服務確保設定生效
service zerotier-one restart
#zerotier主要有zerotier-cli(操作程式)和zerotier-one(服務端)這兩個命令進行管理
除了windows和linux,zerotier還可以安裝在openwrt的路由器和智慧手機上。你的裝置加入網路後,還有一步需要操作,就是進入後臺勾選裝置加入虛擬區域網。這個時候,你可以在Manged IPs看到裝置的虛擬區域網IP。透過這個IP,不同裝置就可以好像在區域網中進行通訊。zerotier基於UDP通訊,如果雙方實現直連速度還是很不錯的。如果沒有實現直連速度不到1M且延時有500ms以上。可以透過架設moon伺服器改善網路情況,這個需要購買雲伺服器,我將在zerotier提升篇介紹如何操作。
有了虛擬區域網,你就可以在家庭伺服器上透過Docker架設各種服務,並遠端訪問這些服務了。
第四步:部署應用
搭建web服務已經不是什麼有難度的操作,Docker的出現讓服務搭建變得非常簡單(現在的運維都已經主要在折騰叢集維護)。Docker基於Linux,但Windows有WSL所以也能安裝,可以透過Docker for Windows或者在WSL裡安裝Docker。下面就來詳細介紹一下:
4.1安裝Docker
Ubuntu安裝docker
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
#如果有需要還可以安裝docker-compose
sudo apt install docker-compose
Windows安裝Docker,可以去Docker官網下載Docker Desktop for Windows安裝包,直接執行安裝即可,從使用體驗上我更推薦原生Linux環境使用Docker。
4.2部署應用
伺服器應用部署就是根據需求安裝不同的程式,這個內容很難用短的篇幅講述完,比如homeassistant搭建智慧家居伺服器就有非常多的內容。所以我會在後面的文章裡繼續補充,這裡主要講應用部署的兩種方法:
第一種是直接安裝。像Samba這樣的軟體,以及Calibre這樣的軟體都可以透過直接安裝的方式。二者都可以透過區域網訪問,而透過zerotier就可以在外網進行訪問了。
Samba——檔案伺服器
Windows設定檔案共享很簡單,linux安裝Samba也非常簡單:
#安裝samba
sudo apt install samba
安裝完畢後,只需要把指定資料夾設定成共享,其它主機只需要透過訪問區域網主機IP地址,即可訪問伺服器共享的內容。
Calibre——個人電子書庫
Calibre的Windows版是下載安裝包,而Linux版則可以用命令列安裝:
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
安裝Calibre後,開啟Calibre開啟內容服務。區域網內所有裝置都可以透過瀏覽器訪問書庫。
第二種是透過Docker安裝,Docker安裝的好處是安裝安裝簡單,刪除方便。可以幫助你的伺服器搭建非常多的服務,同時省去了大量的配置時間。而且Docker在Windows上也能執行,後面我還將繼續詳細講解Docker,不過這裡簡單分享幾個應用:
比如speedtest測速服務,透過安裝speedtest你就可以知道你和你的個人伺服器之間的網速如何。透過docker安裝非常簡單,安裝之後只需要訪問:http://local:8090即可進行測速。
#拉取映象
docker pull adolfintel/speedtest
#執行speedtest
docker run --restart=always -d -p 8090:80 adolfintel/speedtest
暫時先分享到這裡,歡迎留言討論!