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;
  }
相关推荐
欢乐的小猪9 分钟前
Linux命令 chmod
linux·运维·服务器
guo_wen_qiang26 分钟前
云服务器安装MongoDB-资源包安装
运维·服务器·mongodb
Happy_Sharing27 分钟前
Windows虚拟机安装ubuntu后,如何在虚拟机Ubuntu系统中访问Windows文件夹
linux·运维·ubuntu
91440623235 分钟前
安装jenkins遇到的问题总结
运维·jenkins
广州智造38 分钟前
Radioss 材料本构的二次开发
运维·数据库·自动化·建模·后处理·前处理
码上有光44 分钟前
Linux:信号的认识、信号的产生、信号的保存、信号的处理
android·linux·运维·信号
定栓1 小时前
Webpack迁到Vite第一节:模块系统迁移:require → import
运维·前端·webpack
小白的码BUG之路1 小时前
Jenkins -- 配置ssh
运维·ssh·jenkins
元岳数字人小元1 小时前
数字人私有化,如何搭建全链路内网推理体系
运维·人工智能·开源·人机交互·交互
Allen-Steven1 小时前
SQL查询专项:从完整书写到综合判断
运维·服务器·数据库