centos7 安装 mosquitto

第 1 步:安装支持的组件

yum install gcc gcc-c++ -y
yum install openssl-devel -y
yum install c-ares-devel -y
yum install libuuid-devel -y

第 2 步:下载源码

wget http://mosquitto.org/files/source/mosquitto-1.4.5.tar.gz
tar zxfv mosquitto-1.4.5.tar.gz
cd mosquitto-1.4.5
# 编译安装
make
sudo make install

在当前目录。进入mosquitto服务文件存放的文件夹

cd service/systemd

这里我将mosquitto.service.simple重命名为mosquitto.service
然后拷贝至/etc/systemd/system

 

顺便看下/etc/mosquitto/下又没有mosquitto.conf文件,没有就把里面的mosquitto.conf.example重命名为mosquitto.conf

编辑mosquitto.service

ExecStart=/usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

路径是否正确

 

第 3 步:开启mosquitto服务
sudo systemctl start mosquitto

第 4 步:开启mosquitto服务
service mosquitto start
sudo systemctl status mosquitto

 

使用systemctl命令自启动:
systemctl list-unit-files:查看软件开机自启情况
systemctl enable mosquitto 使mosquitto开机自启


添加指定需要开放的端口:
firewall-cmd --add-port=1883/tcp --permanent
重载入添加的端口:
firewall-cmd --reload
查询指定端口是否开启成功:
firewall-cmd --query-port=1883/tcp

 

 

 查看mosquitto的进程
命令:ps -aux | grep mosquitto

 

 

 

再次运行会发现错误出现了变化

ExecStart=/usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf (code=exited, st
运行命令

sudo /usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf -v

可以看到错误信息 Error: Invalid user ‘mosquitto’ 表明,Mosquitto 配置文件中指定的用户 mosquitto 无法被找到或无效。
确保系统中存在名为 mosquitto 的用户。如果不存在,可以创建这个用户:

sudo useradd -r -s /sbin/nologin mosquitto


再次重启查看

sudo systemctl daemon-reload
sudo systemctl restart mosquitto
sudo systemctl status mosquitto
正常。
ps:任意终端运行mosquitto命令会报找不到该命令,而在正常的机器不会这样,可见还是install出了问题,不过没找到安装失败的原因

 

posted @ 2021-08-20 16:14  lenton  阅读(1333)  评论(0)    收藏  举报