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;
  }
相关推荐
木子欢儿6 分钟前
在 Debian 13(以及 12)上安装和配置 tightvncserver 并让普通用户使
运维·前端·debian
ol木子李lo11 分钟前
Linux 命令备忘录
linux·运维·服务器·windows·编辑器·ssh·bash
SakitamaX22 分钟前
Nginx安装与实验
服务器·前端·nginx
第七序章31 分钟前
【Linux学习笔记】git三板斧
linux·运维·服务器·笔记·git·学习
礼拜天没时间.36 分钟前
Node.js运维部署实战:从0到1开始搭建Node.js运行环境
linux·运维·后端·centos·node.js·sre
一只自律的鸡39 分钟前
【Linux系统编程】文件IO 标准IO
linux·运维·服务器
EverydayJoy^v^1 小时前
Linux Shell 高级编程(2)——sed
linux·运维·服务器
清水白石0081 小时前
《解锁 Python 潜能:从异步基石到 pytest-asyncio 高级测试实战与最佳实践》
运维·python·pytest
三无少女指南1 小时前
开发者环境配置最佳实践:编辑器Cursor ,VS Code的上位体验实现 AI 与 WSL 联动
运维·c语言·数据库·windows·git·编辑器
2301_805348971 小时前
Haproxy的介绍以及配置示例
运维