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;
  }
相关推荐
香蕉鼠片几秒前
Docker
运维·docker·容器
环流_22 分钟前
【多线程初识】
linux·运维·服务器
CAAS_IFR_zp31 分钟前
vConTACT3: 机器学习实现可扩展和系统的病毒层级分类
linux·运维·服务器
杨云龙UP1 小时前
ODA-Oracle实践记录:通过Navicat导出导入表CSV文件并清理重复数据,处理OA待办延迟刷新问题_20260416
linux·运维·服务器·数据库·sql·mysql·oracle
QC777LX1 小时前
传统电商专员转型AI电商运营师:选品到投放自动化流程
运维·人工智能·自动化
电商API_180079052472 小时前
电商数据采集实战:批量自动化获取淘宝、京东商品评论数据
大数据·运维·人工智能·数据挖掘·数据分析·自动化
START_GAME2 小时前
SQL Server 还原 .bak 文件(SSMS 图形界面法)
运维·服务器·数据库
June5612 小时前
SSH 免密 + 主机指纹登录完整安装步骤(macOS)
运维·macos·ssh
极客on之路2 小时前
线上 JVM 出问题
运维·服务器·jvm