Mosquitto在Windows以及linux上安装详细步骤
介绍
Eclipse Mosquitto:Eclipse 基金会开源、采用C 语言开发的轻量级 MQTT Broker,遵循 MQTT3.1.1 / MQTT5.0 标准,当前物联网最常用小型 MQTT 服务端,BSD 开源协议(商用免费无版权限制)。空闲内存仅几 MB,可跑在树莓派、路由器、Linux 工控板、老旧 Windows 主机。
|
端口 |
用途 |
|
1883 |
普通 TCP-MQTT(明文,默认) |
|
8883 |
MQTT+TLS 加密 |
|
8083 |
WebSocket-MQTT(前端 JS 连接) |
|
8084 |
WebSocket+TLS |
Windows安装
一、下载:
mosquitto下载地址:Download | Eclipse Mosquitto


二、安装
双击mosquitto-2.1.2-install-windows-x64.exe


更改安装目录

安装完毕后的目录

三、环境变量配置
右键“我的电脑”->属性->高级系统设置->环境变量,选择Path,点击编辑
新增变量“D:\Program Files\Mosquitto”


打开命令提示符(CMD)或 PowerShell,输入:mosquitto -h 若输出 mosquitto version 2.1.2,则表示安装成功.

四、 测试
手动命令行启动:mosquitto -v

Windows 自带 mosquitto_sub 订阅 和 mosquitto_pub 发布 工具
打开第一个窗口(订阅)
mosquitto_sub -h 127.0.0.1 -p 1883 -t "test/topic"

打开第二个窗口(发布)
mosquitto_pub -h 127.0.0.1 -p 1883 -t "test/topic" -m "Hello Mosquitto"

五、启动、停止服务
(必须以管理员身份运行)
启动服务:net start mosquitto
停止服务:net stop mosquitto
在Windows 左下角开始菜单,搜索 cmd 或 命令提示符,右键搜索结果 → 选择以管理员身份运行;在弹出的管理员命令行中重新执行:


或通过 Windows 服务管理器(services.msc)查找 Mosquitto Broker 并启动。

验证服务状态:
sc query mosquitto
状态应为 RUNNING。

停止服务:net stop mosquitto


六、配置 Mosquitto 服务
配置文件路径:D:\Program Files\mosquitto\mosquitto.conf

关键配置项(建议在文件末尾添加或修改):
# 监听所有网络接口的1883端口(允许局域网访问)
listener 1883 0.0.0.0
#websocket支持,可支持浏览器端的MQTT连接
listener 8083 0.0.0.0
protocol websockets
# 禁用匿名访问(必须设置,否则不安全)
allow_anonymous false
# 指定密码文件路径(用于用户名密码认证)
password_file D:\Program Files\mosquitto\pwfile.conf
# 启用消息持久化(服务器重启后保留订阅和保留消息)
persistence true
persistence_location D:\Program Files\Mosquitto\data
# 启用日志记录(便于排查问题)
log_dest file D:\Program Files\Mosquitto\log\mosquitto.log
log_type error
log_type warning
log_type notice
创建密码文件:
在命令提示符中,进入安装目录并创建用户(例如用户名 admin,密码 123456):
首先创建pwfile.conf文件,

然后在当前目录下的命令窗口中执行:
mosquitto_passwd.exe -b pwfile.conf admin 123456
注意:-b 参数表示非交互式创建,首次创建时使用 -c 会覆盖文件,后续添加用户时请勿使用 -c。

停止 然后 启动
net stop mosquitto
net start mosquitto
检查启动状态
sc query mosquitto(非管理员的窗口中运行)

窗口 A(订阅主题):
mosquitto_sub -h 127.0.0.1 -p 1883 -t "test/topic" -u admin -P 123456
![]()
窗口 B(发布消息):
mosquitto_pub -h 127.0.0.1 -p 1883 -t "test/topic" -m "Hello zyf" -u admin -P 123456

Linux 安装与使用-Ubuntu
一、安装命令
- mosquitto:服务端
- mosquitto-clients:订阅 / 发布测试工具
cd /usr/local
sudo apt update
sudo apt install mosquitto mosquitto-clients -y


二、查看服务状态
sudo systemctl status mosquitto

三、测试消息
终端 1(订阅)
mosquitto_sub -h localhost -t "test/topic"

终端 2(发布)
mosquitto_pub -h localhost -t "test/topic" -m "Hello Linux Mosquitto"
![]()
四、常用服务命令
sudo systemctl start mosquitto # 启动
sudo systemctl stop mosquitto # 停止
sudo systemctl restart mosquitto # 重启
sudo systemctl enable mosquitto # 开机自启
Linux 安装与使用-Alibaba Cloud Linux /CetnOS 7
一、下载
安装包:https://mosquitto.org/download/

把压缩包拷贝到/opt/software目录下

二、解压
创建目录:mkdir /us/local/mosquitto

tar -xvf /opt/software/mosquitto-2.1.2.tar.gz -C /usr/local/mosquitto


三、安装依赖
CentOS 7 的 yum 源失效了,执行下面红色命令(Alibaba Cloud Linux忽略)
cd /etc/yum.repos.d/
mkdir backup
mv *.repo backup/
curl -o CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Base.repo
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache
下载 cJSON 源码包
cd /opt/software
curl -OL https://github.com/DaveGamble/cJSON/archive/refs/tags/v1.7.18.tar.gz
#解压
tar -zxvf /opt/software/v1.7.18.tar.gz
cd /opt/software/cJSON-1.7.18
#编译安装
make
make install
安装mosquitto依赖
dnf install -y gcc gcc-c++ make cmake openssl-devel zlib-devel c-ares-devel uuid-devel libuuid-devel libedit-devel libmicrohttpd-devel sqlite-devel 
四、修复动态库找不到问题
echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf
ldconfig
五、解压
mkdir /usr/local/mosquitto
tar -zxvf /opt/software/mosquitto-2.1.2.tar.gz -C /usr/local/mosquitto
六、编译
cd /usr/local/mosquitto/mosquitto-2.1.2
make
make install
七、创建配置文件目录
mkdir -p /usr/local/etc/mosquitto
mkdir -p /var/lib/mosquitto
mkdir -p /var/log/mosquitto
八、设置目录权限
# 日志目录权限
chmod 755 /var/log/mosquitto
chown root:root /var/log/mosquitto
# 持久化目录权限
chmod 755 /var/lib/mosquitto
chown root:root /var/lib/mosquitto
九、配置文件
cat > /usr/local/etc/mosquitto/mosquitto.conf << EOF
# MQTT 监听端口
listener 1883
#不允许匿名访问
allow_anonymous false
#指定密码文件路径
password_file /usr/local/etc/mosquitto/pwfile.conf
#开启消息持久化
persistence true
persistence_location /var/lib/mosquitto/
#日志配置
log_dest file /var/log/mosquitto/mosquitto.log
log_type all
EOF

#生成密码文件(用户:admin,密码:123456)
mosquitto_passwd -c /usr/local/etc/mosquitto/pwfile.conf admin
# 两次输入密码123456
# 密码文件严格权限
chmod 600 /usr/local/etc/mosquitto/pwfile.conf
chown root:root /usr/local/etc/mosquitto/pwfile.conf
十、创建 systemd 服务(开机自启)
cat > /etc/systemd/system/mosquitto.service << EOF
[Unit]
Description=Mosquitto MQTT Broker
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/sbin/mosquitto -c /usr/local/etc/mosquitto/mosquitto.conf -d
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
十一、设置开机自启 + 启动服务
systemctl daemon-reload
systemctl enable mosquitto
systemctl start mosquitto
十二、查看状态(验证成功)
systemctl status mosquitto

十三、测试 MQTT 收发(验证可用)
开第一个窗口:订阅消息
/usr/local/bin/mosquitto_sub -h localhost -t test/topic -u admin -P 123456

开第二个窗口:发布消息

/usr/local/bin/mosquitto_pub -t test/topic -m "hello mqtt" -u admin -P 123456
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)