开源 作者:云助手 2024-12-12 06:03:34 阅读:72
OpenIM的部署涉及多个组件,并支持多种方式,包括源码、Docker和Kubernetes等。这要求在确保不同部署方式之间的兼容性同时,还需有效管理各版本之间的差异。确实,这些都是复杂的问题,涉及到深入的技术细节和精准的系统配置。我们的目标是简化部署流程,同时保持系统的灵活性和稳定性,以适应不同用户的需求。目前3.5版本已经简化了部署流程,而且这个版本会长期维护,欢迎大家使用。
注意事项 | 详细说明 |
---|---|
操作系统 | Linux 系统 |
硬件资源 | 至少 4G 可用内存 |
Golang | v1.19 或更高 |
Docker | v24.0.5 或更高 |
Git | v2.17.1 或更高 |
存储组件 | 建议版本 |
---|---|
MongoDB | v6.0.2 或更高 |
Redis | v7.0.0 或更高 |
Zookeeper | v3.8 |
Kafka | v3.5.1 |
MySQL | v5.7 或更高 |
MinIO | 最新版本 |
# 如果服务器有外网IP export OPENIM_IP="外网IP" # 如果仅提供内网服务 export OPENIM_IP="内网IP"
git clone https://github.com/OpenIMSDK/open-im-server && cd open-im-server # 建议切换到release-v3.5及以后的release分支 make init && docker compose up -d
make build
# 启动 make start # 停止 make stop # 检测 make check
# 返回上一级目录 cd .. # 克隆仓库 建议切换到release-v1.5及以后的release分支 git clone https://github.com/OpenIMSDK/chat chat && cd chat # 部署mysql docker run -d --name mysql2 -p 13306:3306 -p 33306:33060 -v "$(pwd)/components/mysql/data:/var/lib/mysql" -v "/etc/localtime:/etc/localtime" -e MYSQL_ROOT_PASSWORD="openIM123" --restart always mysql:5.7
make init make build
# 启动 make start # 停止 make stop # 检测 make check
TCP 端口 | 说明 | 操作 |
---|---|---|
TCP:10001 | ws 协议,消息端口,用于客户端 SDK | 端口放行 |
TCP:10002 | api 端口,如用户、好友、群组、消息等接口 | 端口放行 |
TCP:10005 | 选择 MinIO 存储时需要(OpenIM 默认使用 MinIO 存储) | 端口放行 |
TCP 端口 | 说明 | 操作 |
---|---|---|
TCP:10008 | 业务系统,如注册、登录等 | 端口放行 |
TCP:10009 | 管理后台,如统计、封号等 | 端口放行 |
TCP 端口 | 说明 | 操作 |
---|---|---|
TCP:11001 | PC Web 前端资源 | 端口放行 |
TCP:11002 | 管理后台前端资源 | 端口放行 |
TCP 端口 | 说明 | 操作 |
---|---|---|
TCP:13000 | grafana端口 | 端口放行 |