# 樹梅派4:從購入到搭建服務的過程 Owner: Rei Tags: Linux Data: 2023/11/21 --- # 樹梅派是什麼?為什麼要買樹梅派? --- # 購入 我是在良興購入的,不過後來有發現有其他地方比較便宜,大家可以自行比價。 SSD如果你有空的,其實就不用買了,主要是RAM買高一點的比較划算。 機器嘛,肯定不會只想要跑一個服務... --- ![良興](https://hackmd.io/_uploads/BJ4fIL9Na.png) --- # 組裝 組裝其實不會太困難,不過因為散熱片蠻小的,所以手指粗的人有點難貼。可以準備一個小聶子會比較順手! 有買風扇的可以參考[這支影片](https://www.youtube.com/watch?v=8Y01tKNdSV4)! --- # 啟用 第一次使用的時候**真的蠻麻煩的**,請確保你有以下器材: 1. SSD讀卡機(macbook用的hub上面可能會有) 2. Micro HDMI轉HDMI線 3. 多的一組螢幕、鍵盤、滑鼠(沒有就從桌機上拔吧) --- ## 安裝作業軟體 1. 首先要安裝作業軟體,直接上[官網](https://www.raspberrypi.com/software/)去載對應的軟體下載。 2. 燒錄過程的一些設定可以參考[這裡](https://www.circuspi.com/index.php/2022/07/22/raspberrypi-environment-construction/)。最好這時候就把SSH選項開起來!不過沒開也沒關係,之後再開也行。 --- 3. 把燒錄後的SSD插到樹梅派上後,接上螢幕滑鼠,進行基本上設定。**強烈建議語言選項選為英文,我一開始沒選,後面載東西一直被洗缺少語言包什麼的超級囉嗦,最後還是都改為英文了**。 --- 到這一步結束之後,基本上樹梅派已經是一台可以使用的電腦了! 在拔掉螢幕線之前,可以先確認以下: --- 1. SSH設定有開啟了嗎?樹梅派4預設的作業介面是GUI,從桌面應該就很容易可以找到設定了。 2. 網路有連上了嗎?Wifi或乙太都可以,從GUI操作比較省事。 3. 你的樹梅派的IP位址(先記私網就好了,公網你得去申請固定IP才能玩) --- 都OK了,就去設定把GUI給關掉,重新啟動。 現在螢幕滑鼠都可以拔掉了! --- ## SSH連線 現在回到你平常用的電腦,準備SSH連線到樹梅派上。 Windows用戶現在一律推薦[https://mobaxterm.mobatek.net/](https://mobaxterm.mobatek.net/)。 Mac用戶可以用[https://termius.com/](https://termius.com/)。 Linux...自己指令登入吧:P --- ### 帳密連線 確定你使用的網路和樹梅派在同一個網段下,輸入樹梅派的內網位址。 樹梅派第一次開機時要你設定的帳密就是登入帳密。 ### 金鑰連線 (待補充,不過基本上就是生成金鑰→把公鑰放到樹梅派指定的路徑下->連線時選擇用私鑰登入) --- ## 環境設定 (注意:我設定當下沒有寫筆記,可能會跟實際情況有一點出入) 身為Java仔,討厭的環境設定是躲不掉的。 --- ### Java設定 1. 先更新一下樹梅派自己: `sudo apt update` 2. 下載JDK`wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb` 不喜歡太新的也沒關係,可以把網址換成舊版,或是等下叫 `SDKMAN!` 幫我們換。 --- 3. 安裝JDK `sudo dpkg -i jdk-21_linux-x64_bin.deb` --- 4. 找一下我們剛剛裝的東西在哪裡: `update-alternatives --config java` ![java](https://hackmd.io/_uploads/SJhNL89E6.png) --- 5. 打開系統設定的檔案: `nano ~/.bashrc` (你開心的話用vim也行,出不來不要怪我 `vim ~/.bashrc`) 在該檔案中設定系統參數。寫入: ```bash export JAVA_HOME=JAVA的家 export PATH=$JAVA_HOME/bin:$PATH ``` --- 6. 用 `source ./bashrc` 刷新terminal 現在可以用 `java -version` 來確認JAVA版本了。 --- #### Maven? `sudo apt install maven`就可以搞定了。 `mvn -v` 檢查版本。 #### 不小心裝太新了...? 為您強力推薦JAVA、MAVEN管理好幫手 [SDKMAN!](http://rei03.site/#/Tools/SDKMAN),一勞永逸! --- #### 其他常用語言&工具安裝 - Node.js: `sudo apt install Node.js`。安裝後用 `npm -version` 來檢查你的node與npm。 - Typescript:有了npm,就可以npm下載啦~ `npm install typescript` --- - Git:雖然機器在家裡,但肯定也不想FTP拉扣的吧? `sudo apt install git-all` - Docker:給沒有docker-compose就不想起服務的朋友。指令太多了,請直接參照[官網](https://docs.docker.com/engine/install/debian/) --- ### 推薦工具 除了要跑JAVA以外,這裡也統整了一下常用的工具! #### Watch Dog (推薦指數:★★★) Watch Dog可以在機器掛掉的時候自動重新開機!如果你想要操爆你的機器,肯定要裝一下的: https://note.artchiu.org/2018/10/02/linux-watchdog-%E7%9C%8B%E9%96%80%E7%8B%97/ --- #### PM2 (推薦指數:★★★★★★★★★★★★) 要跑服務,沒有這個我不行,現在我是PM2的形狀。 PM2可以幫你統整管理各式各樣的服務,還會把log寫下來方便回查。 如果你開心,你也可以把服務包了docker再包pm2,然後你的機器很快就會被操壞...(X) --- 1. 使用 `npm install pm2 -g`(如果你有裝node.js) 或 `apt update && apt install sudo curl && curl -sL https://raw.githubusercontent.com/Unitech/pm2/master/packager/setup.deb.sh | sudo -E bash -`下載。 2. 直接輸入`pm2`確認是否可以使用。 --- ##### 如何用PM2啟動一個服務 1. 有main.js / main.py / mian.?? 的專案或是已打包過的執行檔(如jar):直接使用 `pm2 start yourfile`即可 2. 如果是需要下參數的情況(比如你想跑`vue-tsc --noEmit && vite build`),可以寫一個簡單的 `.sh` 檔,再用1.的方式啟動! --- 如果想幫這個服務加上名字,可以使用`pm2 main.js --name "myservice"`。`myservice`就是服務名稱。 啟動之後,可以使用 `pm2 status` 來查看所有服務情況: ![pm2](https://hackmd.io/_uploads/ryPXLL5E6.png) --- 以我的樹梅派為例,就跑了兩個前端網頁伺服器+cloudflare tunnel。 想要指定服務,可以用`id`或是`name`,效果是一樣的。如: `pm2 log 14`與`pm2 log note`都可以列出現在這個網站的log。 想要停止服務,可以用 `pm2 stop [id/service]`。你可以在編輯檔案或腳本之後再次用`pm2 start [id/service]`啟動服務,而不需要再重複輸入指令。 --- #### CloudFlare(推薦指數:★★★) 當你申請不了固定ip,又想要從外網連入的時候,可以使用CloudFlare。 **不過你必須要買一個網域**。不用擔心,網域沒想像中的那麼貴,我現在用來架技術筆記的這個網域一年只要79台幣:P 相關的教學可以參照[這一篇](http://rei03.site/#/DevOps/SDKMAN)。 --- ### 跟後端沒關係的架站小事 對前端太不熟的後果就是第一次架站的時候讓程式碼在網路上裸奔了... 被朋友念了一頓之後才知到前端不能這樣跑,要build prod之後用靜態文件伺服器跑! 所以目前的兩個服務都是用`serve`運行的!(`serve -s dist [你想要的port]`)
{"title":"樹梅派4:從購入到搭建服務的過程","description":"Owner: ReiTags: LinuxData: 2023/11/21","contributors":"[{\"id\":\"3eedb08b-d231-4383-82cb-c4053caa1a50\",\"add\":3947,\"del\":0}]"}
    106 views