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;
  }
相关推荐
哇哈哈&5 小时前
gcc9.2的离线安装,支持gcc++19及以上版本
linux·运维·服务器
一条咸鱼¥¥¥5 小时前
【运维经验】使用QQ邮箱SMTP服务器设置ssms计划任务完成时邮件发送
运维·服务器·经验分享·sql·sqlserver
【上下求索】5 小时前
学习笔记095——Ubuntu 安装 lrzsz 服务?
运维·笔记·学习·ubuntu
Caster_Z7 小时前
WinServer安装VM虚拟机运行Linux-(失败,云服务器不支持虚拟化)
linux·运维·服务器
小小测试开发8 小时前
提升WebUI自动化效率与性能:从脚本到架构的全链路优化指南
运维·架构·自动化
The star"'9 小时前
mysql(1-3)
运维·mysql·云计算
model20059 小时前
Alibaba linux 3安装LAMP(5)
linux·运维·服务器
weixin_3077791310 小时前
Jenkins中的Jakarta Activation API插件:功能、使用与最佳实践
运维·开发语言·ci/cd·自动化·jenkins
王 富贵12 小时前
【Linux】防火墙常用命令(iptables/firewalld/ufw)
linux·运维·服务器
一条咸鱼¥¥¥12 小时前
【运维经济】思科交换机和路由器的密码重置方法
运维·网络·智能路由器