OpenIM的部署涉及多個組件晒夹,并支持多種方式,包括源碼姊氓、Docker和Kubernetes等丐怯。這要求在確保不同部署方式之間的兼容性同時,還需有效管理各版本之間的差異翔横。確實读跷,這些都是復(fù)雜的問題,涉及到深入的技術(shù)細節(jié)和精準(zhǔn)的系統(tǒng)配置禾唁。我們的目標(biāo)是簡化部署流程效览,同時保持系統(tǒng)的靈活性和穩(wěn)定性,以適應(yīng)不同用戶的需求蟀俊。目前3.5版本已經(jīng)簡化了部署流程钦铺,而且這個版本會長期維護,歡迎大家使用肢预。
1. 環(huán)境及組件要求
環(huán)境要求
注意事項詳細說明
操作系統(tǒng)Linux 系統(tǒng)
硬件資源至少 4G 可用內(nèi)存
Golangv1.19 或更高
Dockerv24.0.5 或更高
Gitv2.17.1 或更高
存儲組件要求
存儲組件建議版本
MongoDBv6.0.2 或更高
Redisv7.0.0 或更高
Zookeeperv3.8
Kafkav3.5.1
MySQLv5.7 或更高
MinIO最新版本
2. 部署 OpenIM Server (IM)
2.1 設(shè)置 OPENIM_IP
# 如果服務(wù)器有外網(wǎng)IPexportOPENIM_IP="外網(wǎng)IP"# 如果僅提供內(nèi)網(wǎng)服務(wù)exportOPENIM_IP="內(nèi)網(wǎng)IP"
2.2 ? 部署組件 (mongodb/redis/zookeeper/kafka/MinIO等)
git clone https://github.com/OpenIMSDK/open-im-server&&cdopen-im-server# 建議切換到release-v3.5及以后的release分支 make init&&docker compose up -d
2.3 ? 編譯
make build
2.4 啟動/停止/檢測
# 啟動make start# 停止make stop# 檢測make check
3. 部署 App Server (Chat)
3.1 ? 部署組件(mysql)
# 返回上一級目錄cd..# 克隆倉庫 建議切換到release-v1.5及以后的release分支git clone https://github.com/OpenIMSDK/chat chat&&cdchat# 部署mysqldocker run -d --name mysql2 -p 13306:3306 -p 33306:33060 -v"$(pwd)/components/mysql/data:/var/lib/mysql"-v"/etc/localtime:/etc/localtime"-eMYSQL_ROOT_PASSWORD="openIM123"--restart always mysql:5.7
3.2 ? 編譯
make init
make build
3.3 啟動/停止/檢測
# 啟動make start# 停止make stop# 檢測make check
4. 快速驗證
開放端口
IM 端口
TCP 端口說明操作
TCP:10001ws 協(xié)議矛洞,消息端口,用于客戶端 SDK端口放行
TCP:10002api 端口烫映,如用戶沼本、好友、群組锭沟、消息等接口端口放行
TCP:10005選擇 MinIO 存儲時需要(OpenIM 默認使用 MinIO 存儲)端口放行
Chat 端口
TCP 端口說明操作
TCP:10008業(yè)務(wù)系統(tǒng)抽兆,如注冊、登錄等端口放行
TCP:10009管理后臺族淮,如統(tǒng)計辫红、封號等端口放行
PC Web 及管理后臺前端資源端口
TCP 端口說明操作
TCP:11001PC Web 前端資源端口放行
TCP:11002管理后臺前端資源端口放行
Grafana 端口
TCP 端口說明操作
TCP:13000grafana端口端口放行
三、驗證
PC Web 驗證
提示: 在瀏覽器中輸入?http://ip:11001?來訪問 PC Web祝辣。此 IP 應(yīng)為服務(wù)端?OPENIM_IP贴妻,確保瀏覽器能訪問。首次使用請通過手機號注冊蝙斜,驗證碼默認為?666666名惩。
圖:PC Web 接口示例
App 驗證
掃描以下二維碼或點擊?這里?進行下載。
圖:App 下載二維碼
提示: 雙擊 OpenIM 后修改 IP 為服務(wù)端?OPENIM_IP?再重啟 App孕荠。請確保開放相關(guān)端口娩鹉,并在修改后重啟 App攻谁。首次使用請先通過手機號注冊,驗證碼默認為?666666弯予。
圖:服務(wù)器地址修改 - 步驟 1
圖:服務(wù)器地址修改 - 步驟 2
管理后臺驗證
在瀏覽器中輸入?http://ip:11002?來訪問管理后臺戚宦。此 IP 應(yīng)為服務(wù)端?OPENIM_IP,確保您的瀏覽器能訪問熙涤。默認賬號和密碼均為?chatAdmin阁苞。
圖:管理后臺界面
5. 配置項修改
5.1 ? 共用配置項的修改
配置項需要修改的文件操作
mongo/kafka/minio 相關(guān).env, openim-server/config/config.yaml需重啟組件和 IM
redis/zookeeper 相關(guān).env, openim-server/config/config.yaml, chat/config/config.yaml需重啟組件、IM 和 Chat
SECRETopenim-server/config/config.yaml, chat/config/config.yaml需重啟 IM 和 Chat
5.2 特殊配置項的修改
特殊配置項: API_OPENIM_PORT/MINIO_PORT/OPENIM_IP/GRAFANA_PORT
修改?.env?文件中的特殊配置項
在?openim-server/config/config.yaml?中按照規(guī)則修改配置
在?chat/config/config.yaml?中按照規(guī)則修改配置
重啟 IM 和 Chat
5.3 ? 其他配置項的修改
對于?.env祠挫、chat/config/config.yaml?和?openim-server/config/config.yaml?中的其他配置項,可以單獨修改相應(yīng)文件中的這些配置項悼沿。
5.4 端口的修改
特別注意等舔,對于IM相關(guān)任何端口的修改,都需要同步修改?open-im-server/scripts/install/environment.sh?中的端口糟趾。
6. 常見問題
6.1 日志查看
運行時日志:logs/OpenIM.log.all.*
啟動日志:_output/logs/openim_*.log
6.2 啟動順序
啟動順序如下:
IM 依賴的組件:mongo/redis/kafka/zookeeper/minio等
IM
Chat 依賴的組件:mysql
Chat
6.3 Docker 版本
新版 Docker 已經(jīng)整合了 docker-compose.
老版本的 Docker 可能不支持 gateway 功能慌植。建議升級到較新的版本,如?23.0.1义郑。
7. 關(guān)于OpenIM
得益于廣泛的開發(fā)者支持蝶柿,OpenIM在開源即時通訊(IM)領(lǐng)域保持著領(lǐng)先地位,在Github上的星標(biāo)數(shù)量已經(jīng)超過12,000非驮。在當(dāng)前對數(shù)據(jù)和隱私安全日益重視的背景下交汤,IM私有部署的需求不斷增長,這與中國軟件產(chǎn)業(yè)的快速發(fā)展趨勢相契合劫笙。特別是在政府和企業(yè)領(lǐng)域芙扎,隨著信息技術(shù)的飛速發(fā)展和創(chuàng)新產(chǎn)業(yè)的廣泛應(yīng)用,對IM解決方案的需求急劇上升填大。進一步來看戒洼,協(xié)同辦公軟件市場的持續(xù)擴張使得“安全可控”成為了一個關(guān)鍵屬性。
倉庫地址:https://github.com/openimsdk