Mark Ku's Blog

樹莓派 4B 運行 net core 6.0 應用程式及網站

環境安裝

安裝.Net Core 相關依賴

sudo apt install -y libunwind8 libunwind8-dev gettext libicu-dev liblttng-ust-dev libcurl4 libcurl4-openssl-dev libssl-dev uuid-dev unzip libgdiplus libc6-dev libkrb5-3

下載 dotnet SDK 夾並解壓縮

wget https://download.visualstudio.microsoft.com/download/pr/1f85b038-9917-4d0a-8485-5dc86510eec7/a7555924fe292c6c2140893f066abe65/dotnet-sdk-6.0.100-linux-arm.tar.gz -O dotnet-sdk-linux-arm.tar.gz --no-check-certificate
sudo mkdir -p /usr/local/dotnet && sudo tar zxf dotnet-sdk-linux-arm.tar.gz -C /usr/local/dotnet

建立軟連接

sudo ln -s -f /usr/local/dotnet/dotnet /usr/local/bin

P.S. 軟連接:一種連接稱之為符號連接(Symbolic Link),也叫軟連接。軟連結文件有類似於Windows的快捷方式。
/usr/local 通常放置可執行程式,基本上 linux 內建的所有可執行程式都放置於此。

測試 dotnet

dotnet --version
樹莓派終端機顯示dotnet 6.0.100版本
樹莓派終端機顯示dotnet 6.0.100版本

一、樹莓派運行 net core 主控台應用程式

建立一個新 net core 主控台應用專案

建立新專案視窗選擇C 主控台應用程式
建立新專案視窗選擇C 主控台應用程式
建立.NET 6.0主控台應用程式設定
建立.NET 6.0主控台應用程式設定

對專案右鍵,發佈 > 資料夾 > 完成 > 發佈

發佈目標選單,資料夾選項被選取
發佈目標選單,資料夾選項被選取

xftp 是一個可以透過 ssh 協定,可快速透過 UI 界面將檔案快速上傳到 linux 的工具,如果要將本地 net core 建置完的應用程式,複製到樹莓派中,透過 xftp 快速的達成。

Xftp 介面顯示本地與樹莓派檔案傳輸
xftp 下載連結

切換剛剛上傳的 net core 資料夾

cd NetCoreTest/

執行 dotnet ConsoleApp1.dll

樹莓派 Xshell 7 終端機執行 dotnet 應用程式
樹莓派 Xshell 7 終端機執行 dotnet 應用程式

二、樹莓派運行 net core web site ,並註冊成開機自動啟動的服務

一樣透像前面建立 net core 主控台應用程式的的操作,透過 xftp 將 net core 網站應用的的建置結果複製到樹莓派中。

建立新專案視窗中選取ASP.NET Core Web應用程式
建立新專案視窗中選取ASP.NET Core Web應用程式
ASP.NET Core Web 專案設定介面截圖
ASP.NET Core Web 專案設定介面截圖
Xftp顯示本機與遠端net core網站檔案
Xftp顯示本機與遠端net core網站檔案

對專案右鍵,發佈 > 資料夾 > 完成 > 發佈

Visual Studio 發佈目標選單,資料夾選項反白
Visual Studio 發佈目標選單,資料夾選項反白

切換到上傳資料夾,並指定 url 及 port 號

dotnet LetGo.Label.Service.dll  --urls "http://localhost:5100;https://localhost:5101"

最後,訪問 url

localhost:5101標籤列印服務網頁介面
localhost:5101標籤列印服務網頁介面

如果你希望開機自動啟動,也能將其註冊成服務

sudo vim /lib/systemd/system/label.service

[Unit]
Description=Label Services
After=network.target
Wants=network.target

[Service]
Restart=on-failure
RestartSec=5
ExecStart=dotnet /var/label/LabelService.dll  --urls "http://localhost:5100;https://localhost:5101"

[Install]
WantedBy=multi-user.target

啟動剛剛註冊得 label 服務

sudo systemctl start label.service //啟動 FRP Server 服務
sudo systemctl stop label.service //停止 FRP Server 服務
sudo systemctl restart label.service //重啟 FRP Server 服務
sudo systemctl enable label.service //開機時自動啟動 FRP Server 服務
sudo systemctl disable label.service //開機時不要啟動 FRP Server 服務
sudo systemctl status label.service //查看FRP Server 狀態
sudo systemctl is-failed label.service // 查看失敗狀態
sudo systemctl daemon-reload  // reload service
sudo systemctl status frpc.service

參考資料

連結

作者

Mark Ku

擁有 10+ 年經驗的資深軟體工程師,現為 AI 應用 Builder,專注於大型平台架構與簡化複雜系統設計,從電商系統到訂閱與收費平台,結合 AI Agent、AI 整合與自動化開發,打造高效率且可持續演進的產品技術基礎。閱讀更多

覺得這篇有幫助?

作者做的免費工具、每日 Podcast 與電子報,都在這裡。

Mark Ku · 本文採用 CC BY 4.0 授權,轉載請註明作者並附上原文連結。

留言

訂閱電子報

訂閱後即時收到新文章通知,不錯過任何技術分享。

提交即表示同意接收電子報,隨時可

熱門文章

View all
Mark Ku
··603

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案
Mark Ku
··440

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南
Mark Ku
··323

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略
Mark Ku
··239

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1
Mark Ku
··222

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取
Mark Ku
··199

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調