centos7搭建mosquitto

centos7搭建mosquitto

1 安装mosquitto

安装依赖

yum install gcc-c++
yum install cmake
yum install openssl-devel

新建个software文件夹,下载mosquitto,下个不高不低的版本,并解压:

mkdir software
cd software
wget http://mosquitto.org/files/source/mosquitto-1.4.10.tar.gz
tar -xzvf mosquitto-1.4.10.tar.gz

但这里还不能编译安装mosquitto
下面的三款扩展性软件,不安装也不影响mosquitto的使用:

安装c-areas(支持异步DNS查找的库):

wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz
tar xvf c-ares-1.10.0.tar.gz
cd c-ares-1.10.0
./configure
make
sudo make install

安装lib-uuid(支持为每个连接客户端生成唯一uuid):

yum install libuuid-devel

安装libwebsockets(支持需使用websocket的应用):

wget https://github.com/warmcat/libwebsockets/archive/v1.3-chrome37-firefox30.tar.gz
tar zxvf v1.3-chrome37-firefox30.tar.gz
cd libwebsockets-1.3-chrome37-firefox30
mkdir build
cd build
cmake .. -DLIB_SUFFIX=64
make install

上面的有可能没安装成功,尤其是第三个,不过并无大碍,只不过没有相应的功能 我们修改一下mosquitto的配置:

cd mosquitto-1.4.10
vim config.mk

将里面的WITH_SRV:=yes和WITH_UUID:=yes都用#号注释掉 接下来编译安装mosquitto:

make
sudo make install

注意:如果在后续使用过程中找不到libmosquitto.so.1的话,在software下输入以下指令修改一下libmosquitto.so的位置:

sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
sudo ldconfig

2 测试

创建用户:

sudo groupadd mosquitto
sudo useradd -g mosquitto mosquitto

这里要是出现什么存在不存在的问题,一定是你copy错了

程序配置:

mv /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf

默认端口为1883 最后我们再打开一个服务器窗口,在一个(订阅)窗口输入:

mosquitto_sub -t hello

另一个(发布)窗口输入:

mosquitto_pub -t hello -h localhost -m "hello world!"

杀掉进程

ps -ef | grep mosquitto
sudo kill 12345 # 杀掉你找到的进程号

3 配置客户端的用户名与密码

修改配置文件
Mosquitto服务器的配置文件为/etc/mosquitto/mosquitto.conf,关于用户认证的方式和读取的配置都在这个文件中进行配置。

  • allow_anonymous允许匿名

  • password_file密码文件

  • acl_file访问控制列表

# 不允许匿名

allow_anonymous false

# 配置用户密码文件

password_file /etc/mosquitto/pwfile

# 配置topic和用户(这项不可以指定文件夹,只能设置如下文件夹)

acl_file /etc/mosquitto/aclfile.example

添加用户名和密码

#mosquitto_passwd -c /etc/mosquitto/pwfile root

#输入这段指令之后系统会提示输入两次密码

然后vim /etc/mosquitto/pwfile 检查用户是否创建成功

#添加Topic和用户的关系

#进入aclfile配置文件中
vim /etc/mosquitto/aclfile.example

# 添加如下信息
user root
topic read topic/#

user root
topic write topic/#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kobe_OKOK_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值