mqtt 服务器搭建 Centos搭建mqtt
老铁们,大家好,相信还有很多朋友对于mqtt 服务器搭建和Centos搭建mqtt的相关问题不太懂,没关系,今天就由我来为大家分享分享mqtt 服务器搭建以及Centos搭建mqtt的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
Centos搭建mqtt
本文使用emqx搭建mqtt:官方地址传送门
1.查看openssl版本
一般情况,centos7版本为1.0.2,mqtt的框架emqx必须大于1.0.2,所以如果低于该版本请升级: centos升级openssl教程传送门
2.安装
3.查看防火墙
如果当前服务器打开了防火墙,需要将防火墙相应端口进行配置。
4.进入etc/emqx目录
5.修改配置文件emqx.conf
修改配置文件内容。
6.打开配置网页
登录网页端后台: http://xx.xx.xx.xx:18083/
7.配置网页打开插件emqx_auth_mnesia
网页端->插件->emqx_auth_mnesia->启动
8.配置mqtt用户名和密码
修改文件内容:
9.配置acl主题权限
修改文件内容:
10.重新加载acl配置文件
11.重新启动emqx
如何设置mqtt服务器的账号密码
1、在这里下载Apollo服务器,下载后解压,然后运行apache-apollo-1.6\bin\apollo.cmd,输入create mybroker(名字任意取,这里是根据官网介绍的来取的)创建服务器实例,服务器实例包含了所有的配置,运行时数据等,并且和一个服务器进程关联。
2、create mybroker之后会在bin目录下生成mybroker文件夹,里面包含有很多信息,其中etc\apollo.xml文件下是配置服务器信息的文件,etc\users.properties文件包含连接MQTT服务器时用到的用户名和密码,后面会介绍,可以修改原始的admin=password,可以接着换行添加新的用户名密码。
3、打开cmd,运行…apache-apollo-1.6\bin\mybroker\bin\apollo-broker.cmd run开启服务器,可以在浏览器中输入http://127.0.0.1:61680/查看是否安装成功,该界面展示了topic,连接数等很多信息。
经过上面的简单步骤,服务器基本上就已经完成,下一篇将介绍Android客户端的编写和注意事项。
客户端使用的API,开始我使用的是mqtt-client,使用过后发现问题百出,不能很好的满足要求,后来使用了官方推荐的Eclipse Paho
mqtt 服务器 哪个好 activemq rabbitmq mosquitto
1、下载mosquitto安装文件()
2、找到相应系统的安装文件安装,如果不想做任何设置直接在服务里启动就行。
3、配置文件
如果需要配置一些用户名、密码、用户权限的参数,则需要修改安装目录下的mosquitto.conf文件
下面来说说我用到的一些参数吧:
①用户密码:#password_file pwfile.example后面跟着是用户密码配置文件,需写上绝对路径并且路径不带空格
②创建用户密码:打开doc窗口,进入mosquitto安装目录,运行mosquitto_passwd-c pwfile.example userName回车,然后输入密码(密码输入两遍后,在该文件里会自动加密密码)
生成的文件内容格式例如:
userName:$6$Ls7JYQTdn9xagJJ2$zngeT758n1Wn1hnVLjFdK2cHb6lcmI5CMrMTNZe2SqkUj0fBgKts62gvlyWYwdY3/WArx/SAtFRKlvKKnHRCUg==
userName2:$6$bymgVcrtj+7wj8mR$nq1atPD3nreRgA6gDbDjfbUGZIlrmenOcWrXMoneBp+zmAxnOybqJvrBZboxX1XXPnz/TKZwz9aKQJ72zJym5A=
③如果想再增加用户,则执行mosquitto_passwd-u pwfile.example userName2即可
④用户权限:#acl_file aclfile.example后面跟着是用户权限配置文件,需写上绝对路径并且路径
文件内容格式为:
user userName
/etc/ld.so.conf.d
mosquitto.conf
/usr/local/lib/python2.6/site-packages( mosquitto.py)
/usr/local/bin
vi/etc/sysconfig/iptables
/usr/local/src/mosquitto-1.1.3/lib/python
make install
ldconfig
不改config.mk里面的东西
需要安装
yum-y install patch make gcc gcc-c++ gcc-g77 flex bison
centos5.6下 yum-y install gcc automake autoconf libtool make
yum-y install openssl openssl-devel vim-minimal
这里为只读
topic read主题
user userName2
这里为可读可写
topic主题
topic#(或+)表示可以读写任何主题
到这里用户密码及权限已配置完成,订阅和发布的时候加上用户名及密码即可验证:
例如:订阅
client= new MqttClient("tcp://127.0.0.1:1883","java_client0000000000");
//回调处理类
Myback callback= new Myback();
client.setCallback(callback);
//创建连接可选项信息
MqttConnectOptions conOptions= new MqttConnectOptions();
conOptions.setCleanSession(false);
conOptions.setUserName("userName");
conOptions.setPassword("pwd".toCharArray());
//连接broker
client.connect(conOptions);
client.subscribe("主题");
}
发布:
MqttClient client= new MqttClient("tcp://127.0.0.1:1883","mqttserver-pub");
MqttTopic topic= client.getTopic("主题");
MqttMessage message= new MqttMessage(topic.getName().getBytes());
message.setQos(1);
MqttConnectOptions options= new MqttConnectOptions();
options.setUserName("userName");
options.setPassword("pwd".toCharArray());
client.connect(options);
topic.publish(message);
}
即可验证!
关于mqtt 服务器搭建的内容到此结束,希望对大家有所帮助。