提交 91d498fc 编写于 作者: 麦壳饼's avatar 麦壳饼

加入 设置文档, 和 部署文档。

上级 4b79b177
......@@ -2,29 +2,24 @@
sidebar_position: 5
---
# 如何配置IoTSharp?
本教程主要讲述 appsettings 的配置 , 大家可以在 代码目录或者安装文件目录看到
有很多个 appsettings.xxxxx.json 的文件, 主要的默认配置, 我们是通过 appsettings.json
配置。但是由于开发需要, 我们提供了根据数据库不通而不通的配置, 你可以
根据你自己的时机情况来参考这些配置。 比如, 你环境中使用Mysql , 那么你可以把
appsettings.mysql.json 改为 appsettings.Production.json , 或者我们推荐另外一种方式。
你可以不用重命名文件, 而是使用环境变量 ASPNETCORE_ENVIRONMENT , 为 此环境变量赋值 ,
比如 ASPNETCORE_ENVIRONMENT 设置为 MySQL , 那么使用的配置文件就是 appsettings.mysql.json 文件,
如果appsettings.mysql.json设置为 Sqlite,那么使用的配置文件就是 appsettings.sqlite.json 文件。
# 数据库配置项
下面我们描述如何配置数据库
1. 你需要通过 "DataBase" 来指定关系型数据库, 比如指定为 "Sqlite", 具体可查看 【支持的关系型数据库配置项】
2. 配置关系型数据库连接字符串 , 通过 "ConnectionStrings" 中的 "IoTSharp"配置项配置关系型数据库连接字符串, 比如 "Data Source=IoTSharp.db"
3. 配置时序存储模式 , 通过 "TelemetryStorage" 来配置时序数据存储方式, 比如 我们在Sqlite中使用分表模式, 那么就需要 "Sharding" , 如果是单表就填写为 SingleTable , 如果使用InfluxDB , 则连写InfluxDB
4. 配置时序存储连接字符串 ,通过 "ConnectionStrings"中的 "TelemetryStorage"我们配置使用Sqlite的分表模式, 那么连接字符串就是这样, “Data Source=TelemetryStorage.db”,
5. 配置事件总线中间件, 通过配置项"EventBusMQ" 来配置消息总线使用什么中间件, 你可以配置 RabbitMQ或 内存模式 InMemory ,
6. 配置事件总线连接字符串 ,通过"ConnectionStrings"中的 "EventBusMQ" 来配置连接字符串, 内存模式时不需要配人, 但比如当我们使用 RabbitMQ等中间件时则需要配置, 比如 "EventBusMQ": "amqp://root:kissme@rabbitmq:5672"
7. 配置事件总线消息存储方式, 我们通过 "EventBusStore" 来设置用何种方式来存储消息, 比如使用, MongoDB, 那么就需要将配置项 "EventBusStore" 改为 MongoDB, 也可以使用 InMemory
8. 配置事件消息存储连接字符串 , 如果使用了MongoDB 等一些存储消息的组件, 那么需要通过 通过"ConnectionStrings"中的 "EventBusStore" 来配置, 比如 如果使用了MongoDB 的连接字符串是 "mongodb://root:kissme@mongodb:27017
# 配置IoTSharp
​ 本教程主要讲述 appsettings 的配置 , 大家可以在 代码目录或者安装文件目录看到 有很多个 appsettings.xxxxx.json 的文件, 主要的默认配置, 我们是通过 appsettings.json 配置。但是由于开发需要, 我们提供了根据数据库不通而不通的配置, 可以根据你使用情况来参考这些配置。 比如, 环境中使用Mysql , 可以把 appsettings.MySql.json 改为 appsettings.Production.json 。但推荐通过环境变量 ASPNETCORE_ENVIRONMENT 来决定使用的配置文件, 比如 ASPNETCORE_ENVIRONMENT 设置为 MySQL , 使用的配置文件就是 appsettings.MySQL.json 文件, 如果ASPNETCORE_ENVIRONMENT 设置为 Sqlite,使用的配置文件就是 appsettings.Sqlite.json 文件。于此同时, 在VS中调试时 , 也通过 launchSettings.json 文件预配了支持的数据库 环境变量和对应的文件 , 方便调试, 只需要在VS中选择调试环境即可。
# 数据库和中间件配置
开始使用前, 我们需要最先了解的应该是数据库, 数据如何存放, 时序数据如何存放等, 这里我们考虑到了各种情况, 多种数据库和多种中间件的组合,你可以根据你的喜好, 选择五种关系型数据库的其中一个, 也可以从我们支持的四个时序数据库中选择一个, 当然, 你可以选择在关系数据库中存储时序数据, 可以选择单表 , 也可以选择分表, 如果分表, 你可以选择按分钟, 按日, 按月, 按年,也可以选择各种支持的 消息中间件等, 下面我们描述如何配置他们:
1. 你需要通过 "DataBase" 来指定关系型数据库, 比如指定为 "Sqlite"。
2. 配置关系型数据库连接字符串 , 通过 "ConnectionStrings" 中的 "IoTSharp"配置项配置关系型数据库连接字符串, 比如 "Data Source=IoTSharp.db"
3. 配置时序存储模式 , 通过 "TelemetryStorage" 来配置时序数据存储方式, 比如 我们在Sqlite中使用分表模式, 那么就需要 "Sharding" , 如果是单表就填写为 SingleTable , 如果使用InfluxDB , 则连写InfluxDB
4. 配置时序存储连接字符串 ,通过 "ConnectionStrings"中的 "TelemetryStorage"我们配置使用Sqlite的分表模式, 那么连接字符串就是这样, “Data Source=TelemetryStorage.db”,
5. 配置事件总线中间件, 通过配置项"EventBusMQ" 来配置消息总线使用什么中间件, 你可以配置 RabbitMQ或 内存模式 InMemory ,如果使用了InMemory可以不用配置连接字符串,请忽略 第六条。
6. 配置事件总线连接字符串 ,通过"ConnectionStrings"中的 "EventBusMQ" 来配置连接字符串, 内存模式时不需要配人, 但比如当我们使用 RabbitMQ等中间件时则需要配置, 比如 "EventBusMQ": "amqp://root:kissme@rabbitmq:5672"
7. 配置事件总线消息存储方式, 我们通过 "EventBusStore" 来设置用何种方式来存储消息, 比如使用, MongoDB, 那么就需要将配置项 "EventBusStore" 改为 MongoDB, 也可以使用 InMemory, 如果使用了InMemory可以不配置 连接字符串,请忽略第八条。
8. 配置事件消息存储连接字符串 , 如果使用了MongoDB 等一些存储消息的组件, 那么需要通过 通过"ConnectionStrings"中的 "EventBusStore" 来配置, 比如 如果使用了MongoDB 的连接字符串是 "mongodb://root:kissme@mongodb:27017
# 支持的关系型数据库配置项
配置项名称是 DataBase
......@@ -36,10 +31,10 @@ sidebar_position: 5
5. Sqlite
6. InMemory
7. Cassandra
# 支持的时序数据库及其配置项
配置项名称是 TelemetryStorage
1. SingleTable
2. Sharding
3. Taos
......@@ -50,7 +45,7 @@ sidebar_position: 5
# 支持的时间总线
配置项名称为 EventBusMQ
1. RabbitMQ
2. Kafka
3. InMemory
......@@ -62,8 +57,7 @@ sidebar_position: 5
9. AzureServiceBus
# 支持的事件总线存储方式
配置项名称为 EventBusStore
配置项名称为 EventBusStore
1. PostgreSql
2. MongoDB
3. InMemory
......@@ -71,7 +65,6 @@ sidebar_position: 5
5. MySql
6. SqlServer
下面是几个示例:
......@@ -2,7 +2,7 @@
sidebar_position: 3
---
# 如何调试IoTSharp?
# 调试IoTSharp
本教程使用**rabbit_mongo_influx** 方式进行源码运行
......
......@@ -2,9 +2,9 @@
sidebar_position: 4
---
# 如何部署IoTSharp?
# 使用Dcoker部署
本教程使用**rabbit_mongo_influx** 方式进行部署
本教程使用 RabbitMQ作为消息中间件, 使用MongoDB作为消息存储, 使用InfluxDB 作为时序数据存储, 使用Postgresql 作为关系型数据库。 ,
## 修改docker-compose.yml文件
......@@ -26,7 +26,7 @@ influxdb_cli:
## 启动容器
进入`/IoTSharp/Deployments/rabbit_mongo_influx`执行
进入`/IoTSharp/Deployments/rabbit_mongo_influx`把里面的docker-compose.yml 等文件拷贝到你的目标目录中, 确保docker和docker-compose 都已经安装, 然后直接在执行up命令。
```bash docker-compose
docker-compose up -d
```
......
---
sidebar_position: 4
---
# 在Linux中部署IoTSharp
本教程使用Sqlite 为数据存储 方式进行部署
# 下载
首先在 https://github.com/IoTSharp/IoTSharp/releases 或者 https://gitee.com/IoTSharp/IoTSharp/releases 中下载最新版本的安装包, 常用系统中压缩包选择 [IoTSharp.Release.linux-x64.zip](https://github.com/IoTSharp/IoTSharp/releases/download/v2.8/IoTSharp.Release.linux-x64.zip) , 如果是树莓派版本则下载 [IoTSharp.Release.linux-arm64.zip](https://github.com/IoTSharp/IoTSharp/releases/download/v2.8/IoTSharp.Release.linux-arm64.zip) 至本地。
# 直接启动
解压压缩包后, 我们可以看到里面 有一个 IoTSharp 文件, 使用 chmod 777 IoTSharp , 然后 在命令行使用 ./IoTSharp 即可。 启动后, 即可在浏览器中打开 http://localhost:2927 来访问。
# 注册为服务
IoTSharp 已经支持了Linux 服务的方式运行, 按照下面的步骤可以将IoTSharp 注册为LInux daemon
- mkdir /var/lib/iotsharp/ # 创建运行目录
- cp ./* /var/lib/iotsharp/ # 将所有文件拷贝至目标目录
- chmod 777 /var/lib/iotsharp/IoTSharp # 设置IoTSharp 的可执行权限
- cp iotsharp.service /etc/systemd/system/iotsharp.service # 将服务文件拷贝至系统
- sudo systemctl enable /etc/systemd/system/iotsharp.service # 启用服务
- sudo systemctl start iotsharp.service # 启动此服务
- sudo journalctl -fu iotsharp.service # 查看该服务日志
## 注册
Chrome浏览器访问 `http://localhost:2927/`
![注册](/img/iotsharp/iotsharp-regeist.png)
## 访问
注册后登入进入首页
![访问](/img/iotsharp/iotsharp-dashboard.png)
---
sidebar_position: 4
---
# 在Windows中部署IoTSharp
本教程使用Sqlite 为数据存储 方式进行部署
# 下载
首先在 https://github.com/IoTSharp/IoTSharp/releases 或者 https://gitee.com/IoTSharp/IoTSharp/releases 中下载最新版本的安装包, 通畅Windows下的安装包 名为 [IoTSharp.Release.win7-x64.zip](https://github.com/IoTSharp/IoTSharp/releases/download/v2.8/IoTSharp.Release.win7-x64.zip) 下载至本地。
# 直接启动
解压压缩包后, 我们可以看到里面 有一个 IoTSharp的Exe文件, 双击运行即可启动。 可以看到控制台启动, 启动后, 即可在浏览器中打开 http://localhost:2927 来访问。
# 注册为服务
IoTSharp 已经支持了Windows服务的方式运行, 如果有需要注册为Widnows服务, 你需要首先了解 https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/sc-create , 使用sc 命令创建 为Windows服务,然后打开 http://localhost:2927 来访问
看到下图说明运行成功
![docker-compose启动成功](/img/iotsharp/docker-run.png)
## 初始化influxdb
浏览器访问 `http://localhost:8086/`,初始化influxdb
![初始化influxdb](/img/iotsharp/influxdb-ini.png)
Org: `iotsharp` Bucket: `iotsharp-bucket`
```bash docker
```
## 注册
Chrome浏览器访问 `http://localhost:2927/`
![注册](/img/iotsharp/iotsharp-regeist.png)
## 访问
注册后登入进入首页
![访问](/img/iotsharp/iotsharp-dashboard.png)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册