首页 > 系统相关 >稳扎稳打 部署丝滑 开源即时通讯(IM)项目OpenIM源码部署流程(linux windows mac)

稳扎稳打 部署丝滑 开源即时通讯(IM)项目OpenIM源码部署流程(linux windows mac)

时间:2024-04-29 19:44:37浏览次数:64  
标签:丝滑 部署 IP OpenIM 源码 IM windows linux mage

背景

OpenIM包含多个关键组件,每个都是系统功能必不可少的一部分。具体来说,MongoDB 用于持久化存储;Redis 用作缓存;Kafka 用于消息队列;Zookeeper 用于服务发现;Minio 用于对象存储。这些组件的众多可能会增加部署的复杂性。此外,系统包含多个微服务模块,这要求有效管理进程的启动、停止和监控。为了简化这一过程,我们放弃了传统脚本,转而采用了 mage 这一跨平台方案,兼容所有主流平台和 CPU 架构。本文将详细介绍整个源码部署过程。

OpenIM整体架构

OpenIM主要分为OpenIM SDK和OpenIM Server两大核心部分。这两部分向开发者提供了全套工具和服务,使得即时通讯功能的集成变得简单便捷。功能涵盖了消息的发送与接收、用户管理、群组管理等关键方面。下面提供的OpenIM整体架构图清楚地展示了各组件在系统中的角色和位置,帮助开发者更好地理解和使用这一平台。

 

1环境要求

注意事项详细说明
操作系统 全平台支持(Linux, Windows, Mac)
CPU 支持ARM和AMD架构
硬件资源 至少8GB可用内存
Golang v1.20 或更高
Docker 集成了Compose插件或者使用Docker-compose
Git v2.17.1 或更高

 

2. 部署 OpenIM Server (IM)

2.1 克隆仓库

使用 main 分支或切换到 release-v3.7 及以后的发布分支:

git clone https://github.com/openimsdk/open-im-server && cd open-im-server

注意:

1.一般建议使用release分支,功能稳定;

2.如果是通过windows下载,再上传到linux,可能会有脚本权限或\r问题,建议 执行命令 find ./ -name "*.sh" | xargs chmod +x,以赋予脚本执行权限;

2.2 部署组件 (MongoDB/Redis/Zookeeper/Kafka/MinIO)

通过Docker Compose启动服务:

docker compose up -d

这一步主要是自动部署所依赖的组件,以及web/admin前端镜像,同时会把端口映射出来,以供openIM访问和外部使用,

如果要修改组件密码,则需要在此命令执行之前修改docker-compose.yml文件。

2.3 设置外网IP

修改配置文件,设置外部访问地址:

  • 在 config/minio.yml 中修改 externalAddress 为 http://外网IP:port

    这个是minio的访问地址,如不修改,则无法发送图片视频文件。

  • 在 config/openim-api.yml 中将 grafanaURL: http://127.0.0.1:13000/ 修改为 http://外网IP:port

    这个是grafana的访问地址,如不修改,则无法查看统计数据。

    这里所谓的外网IP,仅表示用户能通过此IP访问,无所谓是否真正意义的外网IP

2.4

标签:丝滑,部署,IP,OpenIM,源码,IM,windows,linux,mage
From: https://www.cnblogs.com/OpenIM/p/18166544

相关文章

  • JDK源码分析-TreeSet
    概述TreeSet是Java集合框架中用于存储唯一元素的树形数据结构,它实现了NavigableSet接口,这意味着TreeSet中的元素不仅是有序的,还支持一系列的导航方法。TreeSet的内部实现主要依赖于TreeMap,通过TreeMap的键来维护元素的排序。 类图从以上类图可以看到,TreeSet实现了三个接口,......
  • docker部署jar包
    1、Dockerfile#构建镜像,执行命令:【dockerbuild-tjdk8:1.0.】FROMopenjdk:8-jdkMAINTAINERraorao#设置时区RUNln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtimeRUNecho'Asia/Shanghai'>/etc/timezoneENTRYPOINT["java","-serv......
  • 3分钟部署mysql并开启binlog
    curl-fsSLhttps://get.docker.com|bashyum-yinstalldocker-cesudosystemctlstartdockersudosystemctlenabledockermysql快速安装sudodockerpullmysqlmkdir-p/opt/module/mysql/conf/opt/module/mysql/data/opt/module/mysql/conf/config.d/touch/opt......
  • Linux内核源码-存储驱动之 QSPI Flash
    传输方式DIO/QIO/DOUT/QPIQPI模式(QuadPeripheralInterface),所有阶段都通过4线传输。与之相对的是SPI。SPI模式:纯种SPI(MISO/MOSI两个数据线)DOUT全称DualI/O,命令字和地址字均为单线,仅在数据阶段为双线。QOUT全称QuadI/O,命令字和地址字均为单线,仅在数据阶段为双线......
  • 一分钟部署 Llama3 中文大模型,没别的,就是快
    前段时间百度创始人李彦宏信誓旦旦地说开源大模型会越来越落后,闭源模型会持续领先。随后小扎同学就给了他当头一棒,向他展示了什么叫做顶级开源大模型。美国当地时间4月18日,Meta在官网上发布了两款开源大模型,参数分别达到80亿(8B)和700亿(70B),是目前同体量下性能最好的开......
  • 服务器部署在国外,测试过程中要注意哪些方面?
    当服务器部署在国外时,在测试过程中需要特别注意以下方面:网络延迟和稳定性:由于服务器在国外,网络延迟可能较高,测试过程中需要考虑网络延迟对测试结果的影响,并确保网络连接稳定。可以使用网络监控工具来实时监测网络延迟和丢包率,以评估网络的稳定性。时区和时间差异:国外服务器......
  • openGauss MOT部署
    MOT部署以下各小节介绍了各种必需和可选的设置,以达到最佳部署效果。MOT服务器优化:x86MOT服务器优化:基于Arm的华为TaiShan2P/4P服务器MOT配置详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss MOT部署
    MOT部署以下各小节介绍了各种必需和可选的设置,以达到最佳部署效果。MOT服务器优化:x86MOT服务器优化:基于Arm的华为TaiShan2P/4P服务器MOT配置......
  • CI/CD构建部署流程(bitbucket部分)
    一、目前环境:lab二、进入bitbucket的pipeline页面 三、查看CI构建流程详细信息 四、进入devops-pipeline-cd项目https://bitbucket.org/miktechnology/devops-pipeline-cd/pipelines/results/page/1Can'tfindlink,查看CD部署日志 五、验证CI/CD构建部署流程是否成......
  • 为什么基于k8s进行二次开发的文章比较少,而更多是运维或者是直接部署项目到k8s集群上?
     为什么基于k8s进行二次开发的文章比较少,而更多是运维或者是直接部署项目到k8s集群上? Kubernetes作为一个容器编排调度工具,不仅仅成为了容器编排调度事实上的标准,而且朝着云原生操作系统演进。混合多云基础设施的差别以及企业内部复杂的需求,Kubernetes是如何......