1.环境搭建
1.1Ubuntu环境初始化
更新root密码:sudo passwd root
su至root权限下
安装ssh服务:apt install openssh-server
更新源:apt update
apt upgrade
安装网络工具:apt install net-tools
现在可以查看IP:ifconfig
安装gcc:apt install build-essential
安装pip3:1)apt install python3-pip
2)pip3 install --upgrade pip
更新pip源:1)根目录创建.pip文件:mkdir ~/.pip
2)创建文件pip.conf:touch .pip/pip.conf
3)写入以下内容:
[global]
index-url =https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
安装curl:apt install curl wget
安装vim:apt install vim
安装git:apt install git
设置共享文件夹
1.2编译相关包
Node.js: apt install nodejs npm
node -v
npm -v
Sqlite3: apt install sqlite3 libsqlite3-dev
Telemetry数据存储PostgreSQL:
apt install postgresql postgresql-contrib
#查看数据库状态
systemctl status postgresql
#切换到postgresql用户
sudo -u postgres psql
#创建数据库
CREATE DATABASE IoTSharp;
#授予用户至该数据库的权限
GRANT ALL PRIVILEGES ON DATABASE IoTSharp TO postgresql;
#退出数据库
\q
Influxdb时序数据库:
#获取influx2.x下载地址
wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.0.7-amd64.deb
#解包安装
dpkg -i influxdb2-2.0.7-amd64.deb
#查看状态
systemctl status influxdb
Influx数据库服务开启后,进入http://localhost:8086浏览器页面,创建org(组织),用户,数据库(IoTSharp)。选择data,tokens,复制这个数据库的token到appsetting.development.json文件,修改
"TelemetryStorage": "http://127.0.0.1:8086/?org=your_org&bucket=your_bucket&token=your_token&&latest=-72h",
保存后退出。
安装.NET:安装 .NET 之前,运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。
# 1. 打开终端。
# 2. 执行以下命令添加 Microsoft 的签名密钥:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
# 3. 安装 apt-transport-https 以支持通过 HTTPS 访问仓库:
sudo apt-get install -y apt-transport-https
# 4. 更新包列表:
sudo apt-get update
# 5. 安装 .NET Core SDK :
sudo apt-get install -y dotnet-sdk-8.0
# 6. 安装 .NET runtime :
apt-get install -y aspnetcore-runtime-8.0
apt-get install -y dotnet-runtime-8.0
# 7. 验证 .NET SDK 是否安装成功:
dotnet --version
2.IoSharp获取
在终端中使用下述URL进行克隆。例如,对于HTTPS:
git clone https://gitee.com/iotsharp/IoTSharp.git
或对于SSH:
git clone git@gitee.com:iotsharp/IoTSharp.git
3.部署运行
3.1.appsetting设置
进入IoSHarp目录,打开appsetting.Development.json,进行如下修改:“TelemetryStorage”
{
"Logging": {
"LogLevel": {
"Default": "Information"
}
},
"ConnectionStrings": {
"IoTSharp": "Data Source=.data/IoTSharp.db",
"TelemetryStorage": "Data Source=.data/IoTSharp.db"
},
"DataBase": "Sqlite",
"JwtKey": "kissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissme",
"JwtExpireHours": 24,
"JwtIssuer": "IoTSharp.Net",
"JwtAudience": "IoTSharp.Net",
"EventBusStore": "InMemory",
"EventBusMQ": "InMemory",
"TelemetryStorage": "Sqlite"
}
完成后关闭文件,在终端输入以下内容安装 Entity Framework Core SQLite 提供程序:
dotnet add package Microsoft.EntityFrameworkCore.SQLite
执行数据库迁移以创建 SQLite 数据库
dotnet tool restore
dotnet ef database update
3.2.ClientApp部署
# 进入项目
cd ClientApp
# 安装依赖
npm install --legacy-peer-deps
#如果下载失败就换npm源,换成淘宝,怎么换百度
# 运行项目
npm run dev
# 打包发布
npm run build