Thingsboard 部署
Ubuntu下部署
一、上传编译后的文件至Ubuntu服务器

- 在服务器中创建文件为
/online
文件夹,并把文件application/target中文件:conf
、data
、thingsboard-3.9.0-SNAPSHOT-boot.jar
上传至online目录中 - 安装
Java
、Postgresql
并执行以下代码进行安装:
java -cp thingsboard-3.9.0-SNAPSHOT-boot.jar $JAVA_OPTS -Dplatform=@pkg.platform@ -Dloader.main=org.thingsboard.server.ThingsboardInstallApplication -Dinstall.data_dir=./data -Dinstall.load_demo=true -Dspring.jpa.hibernate.ddl-auto=none -Dinstall.upgrade=false -Dlogging.config=./config/logback.xml org.springframework.boot.loader.launch.PropertiesLauncher
二、创建自定义服务
1. 创建服务单元文件
在/etc/systemd/system/
目录下创建一个新的.service文件。这个文件定义了服务的各种属性和行为。可以使用如下命令:
vim /etc/systemd/system/thingsboard.service
2. 编辑服务单元文件
在打开的编辑器中,定义服务的描述、依赖、启动命令等:
[Unit]
Description=Thingboard Service
After=network.target
[Service]
Type=simple
ExecStart=java -cp thingsboard-3.9.0-SNAPSHOT-boot.jar $JAVA_OPTS -Dplatform=@pkg.platform@ -Dloader.main=org.thingsboard.server.ThingsboardServerApplication -Dinstall.data_dir=./data -Dspring.jpa.hibernate.ddl-auto=none -Dlogging.config=./config/logback.xml org.springframework.boot.loader.launch.PropertiesLauncher
User=root
WorkingDirectory=/online
Restart=on-failure
[Install]
WantedBy=multi-user.target
字段解释:
Description
:服务的简短描述。After
:定义服务启动顺序的依赖,这里表示在网络服务启动后启动本服务。Type
:服务的类型,simple是最常见的类型,表示启动后立即运行。ExecStart
:启动服务时要执行的命令,这里替换为您的脚本路径。User
:运行该服务的用户账户。WorkingDirectory
:服务的工作目录。Restart
:定义服务失败时的重启行为,on-failure表示服务失败时自动重启。WantedBy
:定义服务安装后的启动级别,multi-user.target是常用的级别之一。
3. 重新加载systemd
在修改了.service文件后,需要通知systemd重新加载配置,以识别新的或修改过的服务单元文件:
sudo systemctl daemon-reload
4. 启动并测试自定义服务
使用systemctl命令启动您的服务,并检查其状态:
sudo systemctl start thingsboard
sudo systemctl status thingsboard
5. 设置服务开机自启
如果您希望服务在系统启动时自动启动,可以使用enable命令:
sudo systemctl enable thingsboard
这将创建一个符号链接,将您的服务单元文件链接到/etc/systemd/system/目录下的某个目标目录(通常是multi-user.target.wants/),从而在启动时自动加载和启动服务。
6. 查看服务日志
- 如果需要查看服务的日志输出,可以使用journalctl命令:
sudo journalctl -u thingsboard
- 这将列出服务的所有日志信息,包括echo的输出内容。如果需要实时查看日志输出,可以添加-f选项:
sudo journalctl -u thingsboard -f
