ARM64,ubuntu 22.04
端口开放清单
序号 | 端口 | 描述 |
1 | 80 | 平台访问端口 |
2 | 11883 | mqtt端口 |
3 | 18088 | tcp端口 |
4 | 1900-2000 | nodered多实例端口 |
更新本地软件包索引
sudo apt-get update -y --allow-unauthenticated --allow-insecure-repositories --allow-releaseinfo-change --allow-downgrades --allow-change-held-packages --fix-missing
已安装的软件包升级
sudo apt-get upgrade -y
安装运行环境
安装基础软件
sudo apt-get install -y --allow-unauthenticated --fix-missing openjdk-11-jre-headless golang python3 python3-pip nginx systemd sudo network-manager dbus bridge-utils net-tools chrony zip dmidecode
查看当前nodejs和npm的版本【如果系统已经安装】
PS:版本太老,无法安装
node -v
npm -v
删除以前的nodejs和npm【如果系统已经安装的老版本】
sudo apt-get remove nodejs
sudo apt-get remove npm
sudo apt-get autoremove
sudo apt-get autoclean
rm -rf ~/.npm
rm -rf ~/.node-gyp
安装nodeJs
配置软件库nodeJs
sudo curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
安装
sudo apt-get install -y --allow-unauthenticated --fix-missing nodejs
安装数据库
配置软件库timescaleDb
sudo wget -qO - https://packagecloud.io/install/repositories/timescale/timescaledb/script.deb.sh | sudo bash
安装
sudo apt-get update -y
sudo apt-get install -y postgresql-14 timescaledb-2-postgresql-14
注意:如果安装的环境:系统为ubuntu 20.04;参考下面的数据库操作
sudo apt-get install -y postgresql-12 timescaledb-2-postgresql-12
修改数据库配置文件
启用timescaledb
💡 提示
启用timescaledb后,环境变量DATABASE_TS_TYPE、DATABASE_TS_LATEST_TYPE的只才能配置值【timescale】。
sudo sed -i "1a\shared_preload_libraries = 'timescaledb'" /etc/postgresql/14/main/postgresql.conf
(可选)允许远程访问
⚠️ 警告
开启远程访问存在,数据泄露风险。谨慎开启。
sudo sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/" /etc/postgresql/14/main/postgresql.conf
su - postgres -c "echo 'host all all 0.0.0.0/0 md5' >> /etc/postgresql/14/main/pg_hba.conf"
su - postgres -c "echo 'hostssl all all 0.0.0.0/0 md5' >> /etc/postgresql/14/main/pg_hba.conf"
获取部署包
💡 提示
联系产品相关人员获取部署包。
上传并解压部署包
⚠️ 警告
每个版本的部署包名不一样,请结合自己的部署包调整命令。
unzip 部署包名.zip
sudo mv 部署包名 /app
cd /app
(可选)配置环境变量
💡 提示
开启平台管理网卡信息需要配置网卡相关信息。
#WAN口网络设备名 enP4p65s0
export NETWORK_WAN_DEVICE_NAME=
#WIFI网络设备名,例如:wlan0
export NETWORK_WIFI_DEVICE_NAME=
#LAN口网络设备名 enP3p49s0
export NETWORK_LAN_DEVICE_NAME=
#LAN口网络自定义链接名。例如:thingskit
export NETWORK_LAN_NAME=
脚本调整
sudo chmod +x ./cleanlog.sh
sudo chmod +x ./start.sh
sudo chmod +x ./watchdog.sh
sudo cp nginx.conf /etc/nginx
sudo mv tkedge.service /etc/systemd/system/tkedge.service
sudo systemctl enable tkedge
启动服务
启动后端
sudo systemctl restart tkedge #重启边端服务
启动前端
sudo systemctl restart nginx #部署包更新后需要重启
(可选)开启看门狗
💡 提示
保证平台被关闭后,自己启动。
(crontab -l 2>/dev/null; echo "*/5 * * * * root /app/watchdog.sh") | crontab -
systemctl restart cron
(可选)开启日志清理功能
💡 提示
定期清理日志文件,释放日志占用的磁盘空间。
(crontab -l 2>/dev/null; echo "0 2 * * * root /app/cleanlog.sh") | crontab -
systemctl restart cron
测试系统
后端日志
journalctl -u tkedge -n500 -f
访问平台
此处为语雀内容卡片,点击链接查看:https://yunteng.yuque.com/to2an3/aiotedge-v1xdocs/bfki97l0rsls1erf