推荐一个开源、通用的即时通讯组件

目前市面上的即时通讯软件大多数是付费的,当落地项目或者想要私有化部署,有二次开发的需求时,从开源仓库里面查到的,许多要不就是假开源,要不就是功能比较少,很少有比较全面并且支持二次开发的。今天推荐一个可以用于二次开发的开源的即时通讯组件:OpenIM。

项目地址是:
https://github.com/openimsdk/open-im-server

推荐一个开源、通用的即时通讯组件

OpenIM

OpenIM有以下优点:

  • 完善的文档支持
  • 开箱即用
  • 业务组件和核心组件分离:open-im-server作为消息功能的支持模块与实现登录、注册等业务模块chat是相分离的利于二次开发和扩展
  • 完善的DEMO支持:从flutter到uniapp再到浏览器、小程序基本上都有demo和sdk
  • 如果我们对于官方的demo不满意或者有一些自己的服务器端定制功能,或者集成到自己的业务系统,那么官方也提供了完善的api和sdk支持
  • 支持添加好友、群聊、单聊、发送文件等功能,还有完善的后台管理支持

效果简介

那么我们先看一下部署后实现的效果:

推荐一个开源、通用的即时通讯组件

添加好友

推荐一个开源、通用的即时通讯组件

单聊

推荐一个开源、通用的即时通讯组件

群聊

推荐一个开源、通用的即时通讯组件

后台管理

部署过程

下面我们再说说,如何部署,实则部署过程特别简单:

1. 环境及组件要求

注意事项

详细说明

操作系统

Linux 系统

硬件资源

至少 4G 可用内存

Golang

v1.19 或更高

Docker

v24.0.5 或更高

Git

v2.17.1 或更高

2. docker部署

2.1 克隆仓库并初始化​

gitclonehttps://github.com/openimsdk/openim-docker openim-docker &&cdopenim-docker && make init

2.2 设置OPENIM_IP​

# 如果服务器有外网IPexportOPENIM_IP="外网IP"# 如果仅提供内网服务exportOPENIM_IP="内网IP"

2.3 启动服务及查看日志​

dockercompose up -ddockerpsdockercompose logs -f openim-chatdockercompose logs -f openim-server

3. 快速验证​

在浏览器中输入 http://ip:11001 来访问 PC Web。此 IP 为服务端 OPENIM_IP,确保浏览器能访问。首次使用请通过手机号注册,验证码默认为 666666。

4. 管理后台和监控系统​

在浏览器中输入 http://ip:11002 来访问管理后台。此 IP 为服务端 OPENIM_IP,确保您的浏览器能访问。默认账号和密码均为 chatAdmin或者admin1。

5. 关于配置项的修改​

此项目配置项较为复杂,主要是某些配置项涉及到.env、
openim-chat/config/config.yaml 和
openim-server/config/config.yaml多个文件,配置项的修改说明分为两个部分,分别是共用配置项的修改和其他配置项的修改。

5.1 共用配置项​

.env、
openim-chat/config/config.yaml 和
openim-server/config/config.yaml 共用的配置项:

  1. mysql/mongo/redis/kafka/zookeeper/minio 端口及密码;
  2. SECRET;
  3. API_OPENIM_PORT;
  4. OPENIM_IP;
  5. MINIO_PORT;
  6. GRAFANA_PORT

5.2 修改方法​

对于5.1共用配置项的修改,以下两种方式二选一。

方式一:所有配置重新生成

如果需要全面更新配置,可以采用以下步骤:

  1. 删除现有配置文件:删除 openim-server/config/config.yaml 和 openim-chat/config/config.yaml 文件。
  2. 修改 .env 文件:更新 .env 文件中的相关配置项。
  3. 重新生成配置并重启服务:执行 docker compose down ; docker compose up -d,这将基于 .env 文件中的新设置重新生成配置文件,并重启服务。

方式二:分别修改多个配置文件

如果只需部分更新配置,可以按照以下步骤操作:

  1. 修改 .env 文件:更新 .env 文件中的相关配置项。
  2. 手动更新配置文件:根据 .env 文件的修改,相应地更新 openim-server/config/config.yaml 和 openim-chat/config/config.yaml 文件中的配置项。
  3. 特殊变量的额外处理:如果修改了 OPENIM_IP、API_OPENIM_PORT、MINIO_PORT、GRAFANA_PORT,则需要在 openim-server/config/config.yaml 中更新以下配置项:
object: apiURL:"http://$OPENIM_IP:$API_OPENIM_PORT"minio: endpoint:"http://$DOCKER_BRIDGE_GATEWAY:$MINIO_PORT"signEndpoint:"http://$OPENIM_IP:$MINIO_PORT"grafanaUrl: http://$OPENIM_IP:$GRAFANA_PORT
  1. 重启服务:执行 docker compose down ; docker compose up -d 以应用更改并重启服务。

5.3 其他配置项的修改​

对于 .env、
openim-chat/config/config.yaml 和
openim-server/config/config.yaml 中的非共用变量,可以单独修改相应文件中的这些配置项。执行 docker compose down ; docker compose up -d 以应用更改并重启服务。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
逆风创业的头像 - 宋马社区
评论 共5条

请登录后发表评论