docker搭建EMQX集群+nginx转发TCP

一、三台机器安装
1、三台都拉取镜像

docker pull emqx/emqx:5.0.26

2、三台分别运行镜像
第一台

docker run -itd --network host --name emqx --restart  always \
    -p 1883:1883 \
    -p 18083:18083 \
    -p 8083:8083 \
    -p 8883:8883 \
    -p 8080:8080 \
    -e EMQX_NAME="master1" \
    -e EMQX_HOST=localhost1 \
    -e EMQX_LISTENER__TCP_EXTERNAL=1883 \
    -e EMQX_WAIT_TIME=30 \
    -e EMQX_CLUSTER__DISCOVERY="static" \
    -e EMQX_JOIN_CLUSTER="master1@localhost1" \
    -e EMQX_CLUSTER__STATIC__SEEDS="master1@localhost1,master2@localhost2,master3@localhost3" \
    emqx/emqx:5.0.26

第二台

docker run -itd --network host --name emqx --restart  always \
    -p 1883:1883 \
    -p 18083:18083 \
    -p 8083:8083 \
    -p 8883:8883 \
    -p 8080:8080 \
    -e EMQX_NAME="master2" \
    -e EMQX_HOST=localhost2 \
    -e EMQX_LISTENER__TCP_EXTERNAL=1883 \
    -e EMQX_WAIT_TIME=30 \
    -e EMQX_CLUSTER__DISCOVERY="static" \
    -e EMQX_JOIN_CLUSTER="master2@localhost2" \
    -e EMQX_CLUSTER__STATIC__SEEDS="master1@localhost1,master2@localhost2,master3@localhost3" \
    emqx/emqx:5.0.26

第三台

docker run -itd --network host --name emqx --restart  always \
    -p 1883:1883 \
    -p 18083:18083 \
    -p 8083:8083 \
    -p 8883:8883 \
    -p 8080:8080 \
    -e EMQX_NAME="master3" \
    -e EMQX_HOST=localhost3 \
    -e EMQX_LISTENER__TCP_EXTERNAL=1883 \
    -e EMQX_WAIT_TIME=30 \
    -e EMQX_CLUSTER__DISCOVERY="static" \
    -e EMQX_JOIN_CLUSTER="master3@localhost3" \
    -e EMQX_CLUSTER__STATIC__SEEDS="master1@localhost1,master2@localhost2,master3@localhost3" \
    emqx/emqx:5.0.26

3、如何就行集群加入,选择一台主节点,对其余两个从节点执行如下:(注意:坚决不能在主节点上执行此命令)
这里面我选择localhost1作为主节点

docker exec -it emqx sh

bin/emqx_ctl  cluster join master1@localhost1

4、登录皆可以了
二、做nginx TCP转发
1、首先在安装nginx 的时候,添加straem模块

./configure  --with-stream

2、修改/usr/local/nginx/nginx.conf文件,与http同级新增如下

stream {
        upstream emqx_tcp {
              server localhost1:1883 weight=1;
              server localhost2:1883 weight=1;
              server localhost3:1883 weight=1;
       }
        server {
            listen 1886;
            proxy_pass emqx_tcp;
            proxy_buffer_size 8k;
            tcp_nodelay on;
        }
    }
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用Docker搭建一套简单的PHP+Nginx环境可以按照以下步骤进行: 1. 安装DockerDocker Compose。 2. 创建一个新的目录,用于存放Docker Compose文件和相关配置文件。 3. 在该目录下创建一个名为docker-compose.yml的文件,并添加以下内容: ``` version: '3' services: web: image: nginx:latest ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./html:/usr/share/nginx/html depends_on: - php php: image: php:7.4-fpm volumes: - ./html:/var/www/html ``` 4. 在该目录下创建一个名为nginx.conf的文件,并添加以下内容: ``` worker_processes 1; events { worker_connections 1024; } http { sendfile on; server { listen 80; server_name localhost; root /usr/share/nginx/html; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass php:900; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } } } ``` 5. 在该目录下创建一个名为html的目录,并在该目录下创建一个名为index.php的文件,并添加以下内容: ``` <?php phpinfo(); ?> ``` 6. 在终端中进入该目录,并运行以下命令: ``` docker-compose up -d ``` 7. 打开浏览器,访问http://localhost,即可看到PHP信息页面。 以上就是使用Docker搭建一套简单的PHP+Nginx环境的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员阿明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值