爱星物联——我用这个配置把云平台搭建起来了
今天给为云平台准备了一台虚拟机,配置很低的那种。
服务器配置(建议Centos、Ubuntu)
爱星物联云平台采用Golang开发,系统本身对于环境要求不高。主要是基础环境的要求。 可以参考第三方工具系统运行所需要的内存、CPU 和硬盘空间。
第三方工具包括如下:
数据库服务器:Clickhouse、MySQL、Redis
设备服务器:VerneMQ
应用服务器:Nginx、Zipkin、Etcd、Nats、XXL-JOB、Zipkin、haproxy
我这边是直接部署的访问,这种方式资源最为节约,就是部署起来麻烦一点,需要一个个的服务区部署,如果觉得麻烦的朋友你们可以使用docker部署,拿到代码目录的docker-compose编排脚本运行即可;这里我就老老实实一步步的安装吧
安装JDK
#下载JDK
wget https://osspublic.aithinker.com/soft/jdk-8u291-linux-x64.tar.gz
#解压
tar -zxvf jdk-8u291-linux-x64.tar.gz
mv jdk-1.8.0_291/ /usr/local/
#配置环境变量
vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_291/
export PATH=$PATH:$JAVA_HOME/bin
#刷新环境变量:
source /etc/profiles
#查看版本号
java -version
安装OpenSSL
# 下载Openssl
wget https://www.openssl.org/source/openssl-3.0.1.tar.gz
# 解压openssl
tar -zxvf openssl-3.0.1.tar.gz
# 进入解压后的文件目录,切记一定要进入该目录才能继续执行后续命令
cd openssl-3.0.1
# 其中--prefix是指定安装目录的,shared zlib库是在安装时寻找zlib库依赖的
# 配置(configure)
./Configure --prefix=/usr/local/openssl
如果报错可以执行:
yum -y install perl-IPC-Cmd
# 编译
make
# 安装
make install
# 查看openssl版本
openssl version
安装Nginx
# 下载
wget https://nginx.org/download/nginx-1.23.2.tar.gz
# 解压
tar -zxvf nginx-1.23.2.tar.gz
# 配置文件
vi conf/nginx.conf
Nats
将代码目录执行文件复制到/opt/nats目录下,执行./nats-server -c ./js.conf命令即可;通用你可以去https://github.com/nats-io下载最新版本的nats-server版本。
VerneMQ
代码仓库提供centos7.9的编译版本,如果需要其它版本可以在官方进行获取;我这边是使用的是平台提供的版本,复制到/opt/vernemq目录,使用以下命令运行
/opt/vernemq/bin/vernemq start
haproxy
平台使用haproxy提供高可用性、负载均衡以及基于 TCP 和 HTTP的应用程序代理。
对centos系统的软件进行一些更新或者升级,从而在进行安装的时候可以很快的找到安装包。
sudo yum install epel-release -ysudo yum update -y
安装HAProxy
sudo yum install haproxy -y
检查安装
yum info haproxy
安装完成为了能够让服务在启动时生效,配置HAProxy服务在重启或者启动时运行。
chkconfig haproxy on
最后通过以下命令启动HAProxy服务。
systemctl start haproxy && systemctl status haproxy
XXL-JOB
平台使用第三方分布式任务调度服务,生成日、月、年统计数据;
# 复制jar包到服务器,执行以下命令
nohup java -jar xxl-job-admin-2.3.1-8081.jar &
Zipkin
Zipkin 服务端部署非常简单,可以通过官网快速上手。
https://zipkin.io/pages/quickstart.html
# 下载 Zipkin 最新 Jar 包
user@user-PC:/data$ curl -sSL https://zipkin.io/quickstart.sh | bash -s
Thank you for trying Zipkin!
This installer is provided as a quick-start helper, so you can try Zipkin out
without a lengthy installation process.
Fetching version number of latest io.zipkin:zipkin-server release...
Latest release of io.zipkin:zipkin-server seems to be 2.23.2
Downloading io.zipkin:zipkin-server:2.23.2:exec to zipkin.jar...
> curl -fL -o 'zipkin.jar' 'https://repo1.maven.org/maven2/io/zipkin/zipkin-server/2.23.2/zipkin-server-2.23.2-exec.jar'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 59.0M 100 59.0M 0 0 7252k 0 0:00:08 0:00:08 --:--:-- 9600k
Verifying checksum...
> curl -fL -o 'zipkin.jar.md5' 'https://repo1.maven.org/maven2/io/zipkin/zipkin-server/2.23.2/zipkin-server-2.23.2-exec.jar.md5'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 32 100 32 0 0 51 0 --:--:-- --:--:-- --:--:-- 51
> md5sum -c <<< "$(cat zipkin.jar.md5) zipkin.jar"
zipkin.jar: 成功
Checksum for zipkin.jar passes verification
Verifying GPG signature of zipkin.jar...
> curl -fL -o 'zipkin.jar.asc' 'https://repo1.maven.org/maven2/io/zipkin/zipkin-server/2.23.2/zipkin-server-2.23.2-exec.jar.asc'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 833 100 833 0 0 1047 0 --:--:-- --:--:-- --:--:-- 1046
GPG signing key is not known, skipping signature verification.
Use the following commands to manually verify the signature of zipkin.jar:
gpg --keyserver keyserver.ubuntu.com --recv FF31B515
# Optionally trust the key via 'gpg --edit-key FF31B515', then typing 'trust',
# choosing a trust level, and exiting the interactive GPG session by 'quit'
gpg --verify zipkin.jar.asc zipkin.jar
You can now run the downloaded executable jar:
java -jar zipkin.jar
# 启动
user@user-PC:/data$ java -jar zipkin.jar
oo
oooo
oooooo
oooooooo
oooooooooo
oooooooooooo
ooooooo ooooooo
oooooo ooooooo
oooooo ooooooo
oooooo o o oooooo
oooooo oo oo oooooo
ooooooo oooo oooo ooooooo
oooooo ooooo ooooo ooooooo
oooooo oooooo oooooo ooooooo
oooooooo oo oo oooooooo
ooooooooooooo oo oo ooooooooooooo
oooooooooooo oooooooooooo
oooooooo oooooooo
oooo oooo
________ ____ _ _____ _ _
|__ /_ _| _ \| |/ /_ _| \ | |
/ / | || |_) | ' / | || \| |
/ /_ | || __/| . \ | || |\ |
|____|___|_| |_|\_\___|_| \_|
:: version 2.23.2 :: commit 7bf3aab ::
2021-08-08 10:40:11.408 INFO [/] 3853 --- [oss-http-*:9411] c.l.a.s.Server
因为 Zipkin 完全是基于 Java 开发的,在安装好 Java 环境后,只需要使用 Curl 命令下载 Zipkin 最新 Jar 包,并利用 Java 命令启动执行即可。
这里有一点需要注意,默认 Zipkin 监听本机 9411 端口,如果是网络远程访问,请在系统防火墙放行 9411 端口,否则无法通信。
启动成功后,访问 Zipkin 后台。
http://localhost:9411/zipkin/
Etcd
# 复制etcd运行程序复制到服务器,执行以下命令
./etcd --config-file=./etcd.conf
安装MySQL
centos7及以上版本,默认安装了MariaDB,所以需要先卸载mariaDb。
1.卸载mMiraDB
yum list installed | grep mariadb #查询已安装mariadb
yum -y remove mariadb* #移除已安装的mairadb
2.下载RPM
cd /usr/local #进入到/usr/local的目录下
mkdir mysql #创建一个mysql目录
cd mysql #进入到mysql目录下
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm #下载RPM包
3.安装RPM包,并确认yum源
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
4.查看mysql版本
yum repolist all | grep mysql
5.升级mysqlGPG
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
6.安装mysql
yum install mysql-community-server
7.启动mysql
systemctl start mysqld
8.查看初始密码
cat /var/log/mysqld.log | grep temporary #查看临时密码
mysql密码一般都保存在/var/log/mysqld.log的文件中
mysql -u root -p #输入密码,登录mysql
9.修改默认密码
mysql5.7开始密码不能太过简单,否则修改不成功,所以需要全局配置
###########更改密码策略,降低密码的验证标准
mysql> set global validate_password_policy=LOW; #更改密码策略
mysql> set global validate_password_length=0; #更改密码长度
#修改密码
mysql> ALTER USER USER() IDENTIFIED BY 'qwer1234'; #qwer1234为密码
flush privileges; #重新加载权限表; 更新权限
10.配置远程访问
#登录mysql
use mysql; #选择数据库
update user set host='%' where user='root'; #允许机器远程连接
flush privileges; #重新加载权限表; 更新权限
安装Clickhouse
curl -O https://repo.clickhouse.com/tgz/stable/clickhouse-common-static-22.2.3.5.tgz
curl -O https://repo.clickhouse.com/tgz/stable/clickhouse-common-static-dbg-22.2.3.5.tgz
curl -O https://repo.clickhouse.com/tgz/stable/clickhouse-server-22.2.3.5.tgz
curl -O https://repo.clickhouse.com/tgz/stable/clickhouse-client-22.2.3.5.tgz
tar -xzvf clickhouse-common-static-22.2.3.5.tgz
sudo clickhouse-common-static-22.2.3.5/install/doinst.sh
tar -xzvf clickhouse-common-static-dbg-22.2.3.5.tgz
sudo clickhouse-common-static-dbg-22.2.3.5/install/doinst.sh
tar -xzvf clickhouse-server-22.2.3.5.tgz
sudo clickhouse-server-22.2.3.5/install/doinst.sh
#sudo /etc/init.d/clickhouse-server start
sudo clickhouse restar
tar -xzvf clickhouse-client-22.2.3.5.tgz
sudo clickhouse-client-22.2.3.5/install/doinst.sh
对于生产环境,建议使用最新的stable版本。你可以在GitHub页面,目前最新的是 22.2.3.5
https://github.com/ClickHouse/ClickHouse/tags找到它,它以后缀-stable标志。
导入初始化脚本
安装Redis
下载源码包:
https://redis.io/download
上传离线压缩包或者下载到公共目录:
/usr/local/redis/
安装依赖
yum install gcc
# 解压&安装
cd /usr/local/redis/
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
tar -zxvf redis-6.2.6.tar.gz
#创建软连接
cd redis
make # 编译文件,编译后的文件在当前路径src目录下
make如果失败,则需要通过此命令编译
使用以下命令编译
make MALLOC=libc
安装完,可以直接在启动src路径下启动服务./redis-server,可以看到默认端口是6579置文件是redis.conf;直接运行退出会话后服务就关闭了,这不符合要求,改成后台运行;
# 新的配置文件(配置监听不同端口,redis支持单机多开)
cp redis.conf redis_6379.conf
vim redis_6379.conf
port 6379
daemonize yes # 以守护进程的方式运行
# 日志文件
logfile "/var/log/redis/redis_6379.log"
# pid文件
pidfile /var/run/redis_6379.pid
# RDB持久化文件
dbfilename dump_6379.rdb
# AOF快照文件
appendfilename "appendonly_6379.aof"
远程访问
# redis监听的网卡ip地址(设置 127.0.0.1 仅本机访问;设置为 0.0.0.0 或注释掉,表示监听所有接口;指定多个ip时用空格隔开)这里理解可能会有误区,bind指定的ip并非远端调用者ip,而是本机的网卡对应的ip地址,一个主机可以有多个网卡,使用 ifconfig 查看;
bind 127.0.0.1 # 实际操作中防火墙策略开放端口
# 将protected-mode模式修改为no(yes只允许本地访问)
protected-mode no
# 设置需要密码才能访问,123456为示例,请改为强密码
requirepass 123456
# 线上为了安全和方便,一般做法是防火墙配置端口白名单;
启动redis
./redis-server &
关于代码仓库的deploy里面有各个第三方服务的配置文件,大家拿到源代码之后可以参考配置文件
部署应用服务
将代码目录的bin目录中的服务复制到服务器的部署目录,我这里是放到/opt/hogan,如果需要自行编译的可以使用代码目录/bin下的build_linux.bat脚本进行编译;编译之后将以下运行文件copy到你的服务器;
iot_app_api_service
iot_app_oem_service
iot_app_user_service
iot_basic_service
iot_cloud_api_service
iot_device_service
iot_intelligence_service
iot_log_service
iot_message_service
iot_open_system_service
iot_product_service
iot_smart_speaker_service
iot_statistics_service
iot_system_service
iot_weather_service
iot_mqtt_service
iot_mqtt_data_service
bin目录中还有一个conf目录、shell脚本都一并copy到/opt/hogan目录,conf目录的.env设置你的环境名称,与配置文件目录名称对应,最后检查以下配置文件里面的地址参数、数据库密码等参数;
设置shell脚本的权限
cd /opt/hogan
chmod a+x *.sh
运行所有服务
./chkrestart.sh
看到所有服务器都已经正常启动了
- |
- +1 赞 0
- 收藏
- 评论 0
本文由赵优秀转载自安信可科技,原文标题为:爱星物联——我用这个配置把云平台搭建起来了,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
安信可星闪模组专属ComboAT初体验:点对点连接实现透传,强抗干扰、超低延迟、超远通讯
Ai-BS21-32S是由深圳市安信可科技有限公司开发的蓝牙星闪模块。本文中安信可科技将为大家介绍星闪模组Ai-BS21-32S的使用方法。
【经验】如何将安信可科技的PB-03F模块升级DTM固件进行认证测试?
使用安信可科技的蓝牙模组PB-03F进行产品设计后期,部分产品需要连同PB-03F模块一同送去认证机构进行认证测试,此时需要给蓝牙模组PB-03F烧录特殊的测试固件DTM。本文指导如何给PB-03F模块烧写DTM固件。
利用LESS简单实现网页一键换肤功能, 爱星物联网页换肤原来如此简单
本期分享的内容介绍了用变量来实现快速换肤,目的在于让大家快速适应新品方案的开发,更多资料可从安信可科技官网上获取。
安信可科技(Ai-Thinker)物联网专用模组&天线选型指南
目录- LoRa product Radar product WiFi+Bluetooth products 2.4G Series Module GPS Series Module UWB & 4G series module GPRS series module Offline Voice Module Series Antenna
型号- RA-01SH,PB-02-KIT,RTL8720 SERIES,AI-WB1,AI-WB2,AI-WB2-M1,HI-07S-KIT,TB-02-KIT,AI-WB2-12F-KIT,AI-WB2-13-KIT,AI-WB2-13U,AI-WB2-01S,A9,SX1268,RA-01SC,TG-02-KIT,PB SERIES,RTL8710BX SERIES,GPS SERIES,AI-WB2-01M,VC-01-KIT,HI-12F,TB SERIES,HI-12F-KIT,BW16,AI-WB2 SERIES,BW15,BW14,TG-12F-KIT,BW12,RTL8710BX,A9G,HI SERIES,AI-WB2-12S,PB-03,SX126X,AI-WB1-32S,HI-07S,HI-07SL-KIT,PB-01,PB-02,RG-02,AI-WB1-32S-KIT,RTL8720DN,AI-WB2-12F,TG-01M,AI-WB1SERIES,NF-05,NF-02-PA,NF-04,NF-03,BW16-KIT,NF-01-S,SX127X,TB-03F-KIT,LLCC68,TG-02,AI-WB2-07S,NF-01-N,NF-02-PE,AI-WB1-32S-CAM,GP-02-KIT,AI-WB2-M1-I,TG-02M-KIT,TG-02M,RA-08-KIT,GP-01,GP-02,CA-01-KITC,CA-01,2.4G SERIES,AI-WB2-13,PB-03F,PB-03M,TG SERIES,TB-04-KIT,TB-05,GPRS SERIES,TB-04,TG-02F,TB-02,RTL8720DN SERIES,TG-02F-KIT,4G SERIES,PB-03M-KIT,AI-WB2-32S-KIT,BU01,RA-01,PB-03-KIT,ESP32-G,RTL8720,RA-08H,NF-04-MI,VC-02-KIT,NF-05-S,RA-01S,HI-12FL,RA-01H,HI-07SL,AI-WB2-32S,RA-01SCH,PB-01-KIT,RTL8720CF,TG-01M-KIT,TG-12F,AI-WB1-A1S,AI-WB1-12F,TB-03F,BW15-KIT,GPRS,UWB SERIES,GP-01-KIT,AI-WB1-12F-KIT,NODEMCU-BU01,RA-08H-KIT,RD-01,RA-02,RTL8720CF SERIES,RA-08,VC-02,VC-01,HI-12FL-KIT,PB-03F-KIT
【IC】安信可科技发布2款UWB模组BU03和BU04,实现室内厘米级高精度测距定位
BU03和BU04这两款定位模组使用的芯片都是一样的,不同的是BU03是没有带主控MCU的,并且体积小巧,可以集成到自己的主板上,用主芯片直接驱动。
安信可科技无线模组选型表
提供安信可科技无线模组选型,封装:DIP/SMD,尺寸:10.3mm*9.9mm*2.4(±0.2)mm-120.0mm*120.0mm*30.0mm,通信接口:UART/GPIO/ADC/PWM/I?C/SPI/Touch senser/PSRAM/SDIO/Duplex I²S/麦克风/扬声器,最大速率:2.5mW-100mW,参考距离:80m-5km,供电电压:1.9V-5.25V
产品型号
|
品类
|
封装
|
尺寸(mm)
|
通信接口
|
最大速率(mW)
|
参考距离(m/km)
|
供电电压(V)
|
空中速率(Kbps/Mbps)
|
天线形式
|
工作温度(℃)
|
NF-01-S
|
2.4G模组
|
DIP-8
|
28.6mm*15.3mm
|
SPI
|
5mW
|
240m
|
1.9V-3.6V
|
250Kbps-2Mbps
|
板载天线
|
-20℃~70℃
|
选型表 - 安信可科技 立即选型
【产品】安信可科技WIFI蓝牙二合一模块Ai-WB2系列通过各项性能测试,实测400-500米传输距离
天线作为无线信号辐射和接收的重要器件,有着不可替代的作用。一款天线设计完成后需要经过测试才能确定其性能是否符合设计要求。那么天线性能需要进行哪些性能测试呢?本文以安信可的Ai-WB2-12F模块为例,看看如何测试PCB天线的性能。
安信可科技上线的LoRa模块Ra-01SCH-P,抗干扰性强,可支持长达10km的远距离传输
Ra-01SCH-P是安信可科技设计开发的LoRa系列模组。该模组用于超长距离扩频通信,其射频芯片LLCC68+主要采用 LoRa™远程调制解调器,用于超长距离扩频通信,抗干扰性强,能够最大限度降低电流消耗。
【元件】安信可科技24G人体存在感应雷达模组Rd-01搭载博流BL602芯片+矽典微的S3KM111L芯片,适用于高精准度场景
安信可自主研发的24GHz雷达模组搭载博流BL602芯片+矽典微的S3KM111L芯片,不仅能够正常检测人体存在、移动及微动,还可以检测出人体完全静止状态,解决了传统PIR人体红外感应在人体处于静止状态时就无法检测的痛点。
安信可科技Rd-04低成本低功耗雷达模组赋能照明行业,适合嵌入式隐蔽设计
安信可科技Rd-04是基于富奥星的XBR818芯片而设计的微动、运动感知模组。其中心频率为10.525GHz,基于多普勒雷达原理,芯片内置算法,无需外挂单片机,超高性价比。主要针对低成本或低功耗的应用领域,该产品定位为微动、运动感知场景应用,适合壁挂或吸顶安装。
安信可科技针对物联网设计通用型蓝牙模组符合BLE 5.0,智能手机Mesh组网,可对接天猫精灵
安信可科技针对物联网设计通用型的蓝牙模组,其功能强大、用途广泛。可以用于智能灯、智能插座、智能空调等其他智能家电。同时符合BLE 5.0及SIG Mesh规范,可直接通过智能手机组建Mesh网络,也可对接天猫精灵等智能音箱,适用于多种智能家居应用场景。
安信可科技(Ai-Thinker)2.4G模组选型表
目录- 2.4G模组
型号- NF-02-PA,NF-04,NF-03,NF-01-S,NF-02-SM,NF-04-MI,NF-01-N,NF-02-PE
在爱星物联,如何上传OTA固件,如何对不同类型的OTA进行升级?
安信可科技讲解如何上传OTA固件和不同类型的OTA升级方式,从模组日志和APP上如何查看OTA是否升级成功,开放平台查看升级记录。
电子商城
登录 | 立即注册
提交评论