您好,登錄后才能下訂單哦!
怎么在龍芯3B4000上部署基于.Net Core 開發的物聯網平臺IoTSharp,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
今天很開心的拿到了龍芯的測試服務器賬號, 先上圖show一下,
雙核, 8G內存, 50G硬盤。
架構 mips64el
登錄后, 顯示為 uos 及其網址信息:
接下來, 二話不說, 我們開始下載龍芯版的.Net Core , 龍芯版.Net Core 近期剛移植完成, 前期國內其他公眾號和開源中國均有報道, 現在, 相關工具鏈已完成,完全已經達到了開箱即用, 并且已經是.Net Core 3.1.7 是最新版本,相關下載鏈接如下:
.NET Core 3.1.7 MIPS64 Port Early Access Build 20200819
https://github.com/gsvm/loongson-dotnet/releases
由于IoTSharp 是 基于asp.net core , 因此我們首先下載 它的 安裝包, 后期如果嘗試在龍芯上開發其他內容, 再嘗試sdk。 下載鏈接如下:
https://github.com/gsvm/loongson-dotnet/releases/download/ea-20200819/aspnetcore-runtime-3.1.7-ea-20200819-linux-loongson3a.tar.gz
github 的下載速度偶爾很快:
下載完成后, 開始解壓, 因為 分配的賬號并沒有/usr/bin 的寫權限, 因此, 我們解壓在用戶目錄下,
tar -xzvf ./aspnetcore-runtime-3.1.7-ea-20200819-linux-loongson3a.tar.gz -C /dn/
cd dn 進入dn目錄, 可以看到 相關內容, 下面我們為了方便, 將他加到環境變量, 命令行輸入 vi .bashrc , 在末尾 加入下面內容。
export PATH="$PATH://home/loongson/dn/"
現在, 可以直接在控制臺輸入 dotnet 方便操作。 當然, 這些都是因為權限問題, 無法修改系統文件導致的。 如果你有root權限, 完全不必這么做 放到/usr/bin 下面了事。
接下來, 我們發布一個IoTSharp 的版本, 發布配置如下:
記得, 一定要是 可移植的, 這樣.net 就不會針對平臺進行特殊處理!
下面, 開始安裝postgresql .
寫到這里, 突然想起 su root , 然后輸入了龍芯給的普通用戶的密碼, 居然成功切換, 好吧, 這下我們就很順利了,
開始安裝pgsql
apt-get install postgresql-11
如圖:
安裝完成
按照說明, 我們輸入了
pg_ctlcluster 11 main start
啟動了數據庫, 輸入下面的命令切換數據庫的系統用戶
su postgres
執行 psql 修改數據庫密碼, 輸入下面的腳本
ALTER USER postgres WITH PASSWORD 'future';
如圖所示
現在我們開始啟動程序, 由于我們擁有了root權限!將.net core 移動到 /usr/bin 中, 將IoTSharp 發布的內容上傳到 /var/iotsharp
接下來, 讓我們創建 系統服務, 在當前木目錄先創建文件使用命令vi iotsharp.service 編輯內容如下:
[Unit]
Description=IoTSharp running on loongson
[Service]
WorkingDirectory=/var/iotsharp
ExecStart=/usr/bin/dotnet /var/iotsharp/IoTSharp.dll
Restart=always
# Restart service after 10 seconds if the IoTSharp service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=iotsharp
User=iotsharp
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
Environment=ASPNETCORE_URLS="http://0.0.0.0:8080"
[Install]
WantedBy=multi-user.target
復制服務文件:
cp iotsharp.service /etc/systemd/system/iotsharp.service
啟用服務
systemctl enable /etc/systemd/system/iotsharp.service
創建用戶
useradd iotsharp
啟動服務
systemctl start iotsharp.service
由于當前版本默認啟動了CapServer 和 ModBus 服務, 由于ModBus的默認502端口在linux下 低于1024 端口, 普通用戶使用時有權限問題, 因此 需要加入配置項修改一下appsettings.Production.json , 在尾部加入下面內容, 會將默認的ModBus 端口改為 5020
"ModBusServer": {
"Port": 5020,
"TimeOut": 120000
}
使用命令systemctl status iotsharp.service 查看IoTSharp 項目狀態, 截圖如下:
至此, 我們搭建完成, 期間務必注意的是 pgsql一定要啟動, 一點iotsharp 自動啟動, 則通過服務方式重啟或者ctl+c 的方式結束似乎都不能實現, 系統重啟才行。
關于怎么在龍芯3B4000上部署基于.Net Core 開發的物聯網平臺IoTSharp問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。