赞
踩
#安全漏洞#
1.root目录下新增emqx目录
2.复制安装包至/root/emqx目录下
3.切换目录
4.安装
sudo yum install emqx-cenots7-v4.0.0.x86_64.rpm
5.
后台启动 EMQX
- $ emqx start
- EMQX v4.0.0 is started successfully!
systemctl 启动
- $ sudo systemctl start emqx
- EMQX v4.0.0 is started successfully!
service启动
- $ sudo service emqx start
- EMQX v4.0.0 is started successfully!
EMQX Dashboard 功能由 emqx-dashboard (opens new window)插件实现,该插件默认处于启用状态,它将在 EMQX 启动时自动加载。如果你希望禁用 Dashboard 功能,你可以将 data/loaded_plugins
(请参见 插件)中的 {emqx_dashboard, true}
修改为 {emqx_dashboard, false}
。
{emqx_dashboard, true}.
EMQX Dashboard 是一个 Web 应用程序,你可以直接通过浏览器来访问它,无需安装任何其他软件。
当 EMQX 成功运行在你的本地计算机上且 EMQX Dashboard 被默认启用时,你可以访问 http://localhost:18083 来查看你的 Dashboard,默认用户名是 admin
,密码是 public
。
要启用 MySQL 认证,需要在 etc/plugins/emqx_auth_mysql.conf
中配置以下内容(如果找不到文件则是 etc/emqx/plugins/emqx_auth_mysql.conf
)
配置 MySQL 服务相关的连接地址,用户名密码和数据库:
- ## 服务器地址
- auth.mysql.server = 127.0.0.1:3306
-
- ## 连接池大小
- auth.mysql.pool = 8
-
- auth.mysql.username = emqx
-
- auth.mysql.password = public
-
- auth.mysql.database = mqtt
-
- auth.mysql.query_timeout = 5s
默认表结构
MySQL 认证默认配置下需要确保数据库中有下表:
- CREATE TABLE `mqtt_user` (
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
- `username` varchar(100) DEFAULT NULL,
- `password` varchar(100) DEFAULT NULL,
- `salt` varchar(35) DEFAULT NULL,
- `is_superuser` tinyint(1) DEFAULT 0,
- `created` datetime DEFAULT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `mqtt_username` (`username`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
默认配置下示例数据如下:
- INSERT INTO `mqtt_user` ( `username`, `password`, `salt`)
- VALUES
- ('emqx', 'efa1f375d76194fa51a3556a97e641e61685f914d446979da50a551a4333ffd7', NULL);
启用 MySQL 认证后,你可以通过用户名: emqx,密码:public 连接。
加盐规则与哈希方法
MySQL 认证支持配置加盐规则与哈希方法:
- # etc/plugins/emqx_auth_mysql.conf
-
- auth.mysql.password_hash = sha256
认证 SQL(auth_query)
进行身份认证时,EMQX 将使用当前客户端信息填充并执行用户配置的认证 SQL,查询出该客户端在数据库中的认证数据。
- # etc/plugins/emqx_auth_mysql.conf
-
- auth.mysql.auth_query = select password from mqtt_user where username = '%u' limit 1
Dashboard中启用mysql认证
1.修改 /etc/emqx/emqx.conf 的配置项
- ## Allow anonymous authentication by default if no auth plugins loaded.
- ## Notice: Disable the option in production deployment!
- ##
- ## Value: true | false
- allow_anonymous = false
-
- ## Allow or deny if no ACL rules matched.
- ##
- ## Value: allow | deny
- acl_nomatch = deny
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。