Docker + Nginx + EMQX

问题描述

我想在 Docker 上运行 EMQX。如何在 docker-compose 中使用 Nginx 设置 EMQX 代理? 这是我的 docker-compose.yml:

version: '3.7'

services:
  web:
    build: ./
    command:  gunicorn -c gunicorn.conf.py push.wsgi --preload
    volumes:
      - ./:/usr/src/app/
    expose:
      - 8000
    env_file:
      - .env.prod
    depends_on:
      - redis
      - db

  Nginx:
    build: ./Nginx
    ports:
      - 6807:80
    depends_on:
      - web

  emqx:
    image: emqx/emqx:v4.0.0
    restart: always
    env_file:
      - .env.prod.mqtt
    volumes:
      - vol-emqx-data:/opt/emqx/data
      - vol-emqx-etc:/opt/emqx/etc
      - vol-emqx-log:/opt/emqx/log

# Names our volume
volumes:
  my-db:
  static_volume:
  media_volume:
  MysqLd:
  vol-emqx-data:
    name: emqx-data
  vol-emqx-etc:
    name: emqx-etc
  vol-emqx-log:
    name: emqx-log

mqtt 代理成功启动但无法在端口 1883 上访问。

这个Nginx.conf:

upstream push {
    server web:8000;
}

server {

    listen 80;

    location / {
        proxy_pass http://push;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_redirect off;
        client_max_body_size 100M;
    }

}

我是 Docker 新手,不知道如何解决这个问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)