im-cloud 分佈式中間件的安裝部署

github: http://github.com/brewlin/im-...

安裝方式主要提供 docker單節點部署 docker-compose自動化編排部署 手動部署 三種方式部署環境php

1、docker部署

基礎鏡像足夠小 不用擔憂 base image+php7.2+swoole 4 才75M

docker-compose networknamespace 爲host模式,因此須要注意本地端口衝突的問題,也能夠根據本身的環境更改compose.yml配置node

1.docker 單獨部署

  • 鏡像linux

    • consul
    • redis
    • brewlin/cloud
    • brewlin/job
    • brewlin/logic
  • 啓動consul
docker run --network host consul
  • 啓動redis
docker run --network host redis
  • 啓動cloud節點
docker run --network host brewlin/cloud
  • 啓動job節點
docker run --network host  brewlin/job
  • 啓動logic節點
docker run --network host  brewlin/logic

2.docker-compose 編排服務

git clone http://github.com/brewlin/im-cloud
cd im-cloud
docker-compose up

2、手動部署

環境要求

  • swoole 4 +
  • php 7.2 +
  • console
  • rabbitmq
  • redis

1.安裝依賴

make腳本使用composer自動install相關組件git

cd path/im-cloud
make install

2.啓動cloud節點

cd path/im-cloud/app/cloud
php bin/app

3.啓動logic節點

cd path/im-cloud/app/logic;
php bin/app

4.啓動job節點

cd path/im-cloud/app/job;
php bin/app

5.安裝啓動consul

一、登陸官網進行下載,下載地址github

wget https://releases.hashicorp.com/consul/1.2.1/consul_1.2.1_linux_amd64.zip
unzip consul_1.2.1_linux_amd64.zip

二、設置環境變量,若是不設置能夠直接把consul執行文件移動到/usr/bin目錄下web

mv consul /usr/bin

三、 單機配置、這種方式適合用於搭建服務調試使用redis

consul agent -bootstrap-expect 1 -server -data-dir /data/consul -node=cloud -bind=127.0.0.1 -config-dir /etc/consul.d -enable-script-checks=true -datacenter=dc1 -client=0.0.0.0 -ui

能夠經過 http://192.168.1.100:8500 查看服務信息docker

6.安裝rabbitmq

  • 1.添加新的源
echo 'deb http://www.rabbitmq.com/debian/ testing main' |
     sudo tee /etc/apt/sources.list.d/rabbitmq.list
  • 2.下載公鑰
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc |
     sudo apt-key add -
  • 3.更新 & 安裝
sudo apt-get update
sudo apt-get install rabbitmq-server
  • 4.修改配置文件
cd /etc/rabbitmq/
新建文件
touch rabbitmq.config

在配置文件中加入

[{rabbit, [{loopback_users, []}]}].
  • 5.狀態管理
rabbitmqctl status 可查看rabbitmq的狀態
  • 6.開啓web管理界面
# 開啓rabbitmq web界面
Host]# rabbitmq-plugins enable rabbitmq_management
    The following plugins have been enabled:
        rabbitmq_web_dispatch
        rabbitmq_management_agent
        rabbitmq_management
  • 7.建立用戶
Host]# rabbitmqctl add_user xiaodo xiaodo
    Creating user "admin"
Host]# rabbitmqctl set_user_tags xiaodo administrator
    Setting tags for user "admin" to [administrator]

3、測試

  • 1.使用js sdk 提供的demo 註冊到cloud
  • 2.post http://host:9600/im/push/mids?mids=123&operation=9&msg=pushtest 進行單點推送
相關文章
相關標籤/搜索