mosquitto官网只提供Widnows环境的安装包,Linux环境提供了离线源码包和在线安装方式,但Linux部署环境经常是不练外网的,所以可以通过源码编译,产出Linux环境可执行文件。以下以Centos7为例:
编译工具:gcc4.8.5 g++4.8.5
操作系统:Centos7

1、从mosquitto官网下载源码(Download | Eclipse Mosquitto)。

2、进入Centos7环境,把下载的源码上传,进入源码目录,执行以下指令:
make WITH_SRV=no WITH_DOCS=no WITH_CJSON=no CFLAGS="-std=c99"
3、编译生成的文件位置
3.1 主要可执行文件:
-
- Mosquitto 服务器:src/mosquitto
- 发布客户端:src/mosquitto_pub
- 订阅客户端:src/mosquitto_sub
3.2 其他生成文件:
-
- 库文件:lib/libmosquitto.so
- 头文件:在 include/ 目录下
- 帮助文件:在 man/ 目录下

4、制作系统服务文件
进入 /etc/systemd/system目录,生成mosquitto.service ,文件内容如下(需注意,ExecStart要根据执行文件mosquitto和配置文件mosquitto.conf 的实际路径设置):
[Unit]
Description=Mosquitto MQTT Broker
After=network.target
[Service]
ExecStart=/usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Restart=on-failure
User=root
[Install]
WantedBy=multi-user.target
5、启动服务
sudo systemctl daemon-reload
sudo systemctl start mosquitto
sudo systemctl enable mosquitto
6、查看进程和端口是否正常
ps -ef|grep mosquitto
netstat -tuln | grep 1883
解释:
-t:显示 TCP 连接。
-u:显示 UDP 连接。
-l:仅显示监听中的端口。
-n:显示数字格式的地址和端口(而不是尝试解析主机名和服务名)。
如果端口 1883 正在监听,你会看到类似以下的输出: tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN

欢迎关注公众号【比特层递】,一起交流进步。
838

被折叠的 条评论
为什么被折叠?



