一、EMQX的下载及配置
在虚拟机下载资源之前,我们需要先换源保证下载速度:
备份repo文件
sudo cp -r /etc/yum.repos.d /etc/yum.repos.d.backup
删除原来文件
sudo rm -f /etc/yum.repos.d/*.repo
创建新的repo文件并换阿里云的源
sudo bash -c 'cat > /etc/yum.repos.d/CentOS-Base.repo <<EOF
[base]
name=CentOS-$releasever – Base
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS7
enabled=1
[updates]
name=CentOS-$releasever – Updates
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/RPM-GPG-KEY-CentOS7
enabled=1
[extras]
name=CentOS-$releasever – Extras
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/RPM-GPG-KEY-CentOS7
enabled=1
EOF'
更新系统
sudo yum update -y
更新后再下载会发现提示GPG key错误,这里可以关闭gpgcheck,在刚刚的repo文件修改:
将repo文件中每个gpgcheck改为0
Download EMQX Open Source在这个网页下载服务器
注意Install the dependencies时要加sudo给权限
emqx服务器的dashboard需要在网页运行的话需要保证防火墙端口打开,有关emqx的端口有四个,依次打开并重新加载防火墙配置:
sudo firewall-cmd –zone=public –add-port=1883/tcp –permanent
sudo firewall-cmd –zone=public –add-port=8083/tcp –permanent
sudo firewall-cmd –zone=public –add-port=8883/tcp –permanent
sudo firewall-cmd –zone=public –add-port=18083/tcp –permanent
sudo firewall-cmd –reload
开启emqx服务器后可以打开emqx的dashboard,在网页搜索http://{自己的ip}:18083就可以打开
首次登录的账号是admin,密码是public,进去后可以自己修改密码
登录进来之后显示这样的界面,显示的是所有连接的信息及emqx的配置,可以随便点点熟悉一下emqx服务器的功能
接下来需要下载一个用于建立客户端与服务器连接的工具,我选用的是MQTTX,可以取官网自己下一个,下好以后创建一个客户端
接下来的信息除了Host与Port外其余都可以随便填写
Host为服务器的IP,也就是你虚拟器的IP,在之前登录dashboard的IP是一样的,配置好这些信息就可以连接,点击右上角Connect
连接成功,并且emqx服务器上也显示连接了一个客户端:
为了防止其余客户端的连接,可以设置连接时的用户名与密码:
创建后点击设置
点击用户管理与创建
自己设置用户名与密码,自己设置是否为超级用户
设置成功后连接时就需要填写username与password了
至此MQTT的配置及连接结束
二、MySQL下载与配置
客户端可以和服务器进行通信后,我们需要想办法将客户端的数据存入数据库,方便后续前端后端进行查看,在硬件加入之前,我们先用mqttx创建客户端替代。这里需要下载数据库,windows端我用的是Navicat 17 for MySQL版本是17.1.11,直接取官网下就行,有30天免费试用期,这里不提供破解方式,支持正版。下载好后先放一边,我们将数据存储在服务器中,所以还需要在服务器上下载数据库并且新建连接。
先安装MySQL的存储库:
sudo rpm -Uvh https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm
(上面的链接为MySQL 5.7的示例,如果需要其他版本,请访问 MySQL的官方存储库 获取对应版本的链接。)
安装MySQL服务器:
sudo yum install mysql-community-server
安装此步骤时可能会出错:
这个错误表示找不到GPG公钥,可以先导入公钥:
sudo rpm –import https://repo.mysql.com/RPM-GPG-KEY-mysql
再尝试安装服务器
sudo yum install mysql-community-server
但安装后又发生错误
这个错误是公钥不匹配或者不正确,我们先看看自己有哪些公钥
rpm -qa gpg-pubkey*
然后根据需要删除公钥
sudo rpm -e gpg-pubkey-3a79bd29
3a79bd29表示ID,我是选了其中一个删除,暂时没有什么问题
然后重新导入公钥
sudo rpm –import https://repo.mysql.com/RPM-GPG-KEY-mysql
更新YUM配置
sudo vi /etc/yum.repos.d/mysql-community.repo
确保你的配置是这样
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql
如果下载中存在gpgcheck fail可以选择性将其值改为0 不check
再清理YUM缓存
sudo yum clean all
最后重新下载服务器
sudo yum install mysql-community-server
最后安装完成
验证安装并添加自启动:
在安装后MySQL会生成一个临时密码,第一次登录需要该密码,通过以下指令可以获得
sudo grep 'temporary password' /var/log/mysqld.log
然后登录MySQL:
mysql -u root -p
输入刚刚的密码就行了,然后登录成功
登录进去以后你可以选择修改登录密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
将new_password替换为你自己的密码就行了,但是有一定要求,需要包含大小写字母,数字等
在mysql命令行创建一个数据库,自己可以更换命名
创建好后使用该数据库
use IOTtest
然后创建一个表格记录设备的数据,简单起见这里创建一个带有device_id和location的表格
CREATE TABLE devices (
device_id INT AUTO_INCREMENT PRIMARY KEY,
location VARCHAR(255) NOT NULL
);
然后show一下看看是否创建成功,我这里创建的表格名称为devices
创建成功,接下来我们需要将windows端的navicat连接到该数据库,这样方便查看数据、编辑数据和配置,之前我们在centos本地配置过登录MySQL的密码,现在需要设置远程连接的账号和密码,这两个类似,方便起见我设置了所以IP输入正确的密码都可以连接该数据库,正常是需要设置IP来保证安全性
输入这两条指令设置访问权限
两条指令的解释如上
最后进行刷新然后退出数据库命令行
FLUSH PRIVILEGES;
EXIT;
配置防火墙,开放端口3306
sudo firewall-cmd –permanent –add-port=3306/tcp
sudo firewall-cmd –reload
接下来打开navicat进行连接:
点击连接
选择MySQL
输入信息
连接名称自定义,主机为服务器的IP,用户名及密码就是刚刚在服务器设置的用户名与密码
然后连接后查看到我们刚刚新建的表
说明已经连接成功
评论前必须登录!
注册