mqtt的nginx和websocket部署

本来mqtt用的好好的,公司信息安全把端口给封了,就给一个80,所以mqtt只能走这个端口,记录一下过程

1 生成密码文件 搞一个pwd.txt 写着username: pwd 然后 mosquitto_passwd -U passwordfile 就会生成一个pwd.txt

2 mosquitto的配置,注意要走websocket

bash 复制代码
persistence true
persistence_location /mosquitto/data

log_dest file /mosquitto/log/mosquitto.log


# 服务绑定的端口号 默认是1883 
# 服务绑定的IP地址 websockets 一定要在listener的下方,不然会错误
listener 18231 0.0.0.0
protocol websockets


allow_anonymous false
password_file /etc/mosquitto/pwd.txt

3 docker 启动命令,注意文件的映射:

bash 复制代码
docker run   -d --name mqtt  --net host --restart always -v /data/mqtt/log:/mosquitto/log -v /data/mqtt/data:/mosquitto/data  -v /data/mydocker/mqtt/mosquitto.conf:/mosquitto/config/mosquitto.conf  -v /data/mydocker/mqtt/pwd.txt:/etc/mosquitto/pwd.txt eclipse-mosquitto:latest

4 nginx的配置,位置在server里面,注意/mqtt是默认的,有的是/ws,我这个是/mqtt

bash 复制代码
  location /mqtt {
        proxy_pass "http://$myhost:18231";
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;
  }
相关推荐
搞科研的小刘选手26 分钟前
【天津市电源学会主办】第七届能源电力与自动化工程国际学术会议(ICEPAE 2026)
运维·自动化·能源·电力·电气·控制工程·节能
恋奴娇33 分钟前
ubuntu 25 突破pipewire 不能以root帐号运行 系统没有声音输入输出设备
linux·运维·ubuntu
MuYan~43 分钟前
开发环境内网MySQL连接操作文档
运维·服务器
Bert.Cai1 小时前
Linux dirname命令详解
linux·运维·服务器
程序 代码狂人1 小时前
Linux查询自己环境的一些基础命令
linux·运维·服务器
合合技术团队2 小时前
海外发票智能解析:跨版式、多税制票据的自动化处理方案(附GitHub项目地址)
运维·自动化·github·ocr
东风破1372 小时前
DM存储过程及系统 表,系统视图,以及常规的运维SQL语句
运维·数据库·dm达梦数据库
ziqi5222 小时前
Docker compose 和共享数据
运维·docker·容器
袁小皮皮不皮3 小时前
HCIP-BFD 学习笔记
运维·服务器·网络·笔记·网络协议·学习·智能路由器
恋奴娇3 小时前
ubuntu 25 gnome-screenshot 录屏启动失败 原因pipewire服务未启动
linux·运维·ubuntu