飞享服务端发布说明
飞享IM开源项目移动到https://github.com/fsharechat 这里维护,为了方便大家快速本地部署使用,将centos完整安装包打包,将所有需要配置的参数全部提取出来,只需要修改几行配置就可以快速部署,详情见:github.com/fsharechat/… 这样方便各位快速体验最新的特性。
在部署之前,有必要对部署目录boot
做一些说明
├── download #android客户端 Apk
│ └── chat-debug.apk
├── push-connector # 信令消息服务器目录,支持TCP,WSS链接
│ ├── jvm.ini #jvm参数配置
│ ├── lib
│ │ └── spring-boot-dubbo-push-connector-1.2.0-SNAPSHOT.jar
│ ├── logs # 日志
│ └── push-connector # 启动脚本
└── push-group # 业务相关逻辑服务,包括http登录接口
├── jvm.ini #jvm参数配置
├── lib
│ └── spring-boot-web-push-group-1.2.0-SNAPSHOT.jar
├── logs # 日志
└── push-group # 启动脚本
复制代码
另外由于Java
项目需要jdk支持,为了避免与系统其他jdk环境变量冲突,在shell脚本启动的时候,指定了jdk
的目录.另外Dubbo
需要注册中心支持,所以需要安装zookeeper
.当然如果你们公司有现成的注册中心,可以直接配置不需要手动安装一套.因此我们推荐在Centos
/data`施行如下的目录配置
├── boot //这里文件内容就是本项目的具体内容
├── jdk
└── zookeeper-3.4.6
复制代码
NOTE: 由于jdk
和zookeeper
文件过大,并没有把它们包含在项目中,本项目仅仅包括boot目录中内容,有人可能要问为什么要在/data 目录下放置如上的内容,下面展示一段shell命令.
- push-connecotor脚本
#!/bin/sh
# 这里可以修改JAVA_HOME的路径
JAVA_HOME=/data/jdk
APP_NAME=$(basename "$0")
APP_DIR=/data/boot/${APP_NAME}
APP_VERSION_FILE=${APP_DIR}/version
APP_LIB=${APP_DIR}/lib
JVM_INI=${APP_DIR}/jvm.ini
JVM_INI_LOCAL=${APP_DIR}/../jvm.ini
复制代码
NOTE: 上面指定了JAVA_HOME
目录在/data/jdk
.当然你可以把jdk防止在任意位置,只要指定其具体位置就可以,或者你也可以修改脚本,只需要配置java环境变量即可.一切都是为了配置基础的运行环境,如果你熟悉java环境,你可以随时配置
部署说明
下载完整安装包
NOTE: 下载完成后,请将压缩文件解压到/data
目录下即可,注意上面的命令行都是以这个目录为标准的,切忌不要随意放置
下载部署服务
NOTE: 由于github仓库限制以及网络问题,不便上传.当你下载完下面两个服务jar包,分别放到相应服务的lib
目录下,请选择以下最新版本下载
push-connector服务
push-group服务
参数配置
目前仅有两个服务启动既可运行,参数配置仅需关心,各个目录下config即可,你需要配置下面的文件即可,具体在每个服务的config
目录下
push-connector
# wss ssl 配置,这里配置jks需要指定其绝对路径地址
push.ssl.keystore=/data/boot/push-connector/config/chat.comsince.cn.jks
push.ssl.truststore=/data/boot/push-connector/config/chat.comsince.cn.trustkeystore.jks
push.ssl.password=123456
## Dubbo Registry
dubbo.registry.address=zookeeper://zookeeper:2181
## kafka broker
#push.kafka.broker=kafka:9092
## kurento client url,群组音视频服务
kurento.clientUrl=ws://media.comsince.cn:8888/kurento
## minio url
minio.url=https://media.comsince.cn
## minio access_key
minio.access_key=
## minio secret_key
minio.secret_key=
复制代码
push-group
## Dubbo 注册中心
dubbo.registry.address=zookeeper://zookeeper:2181
#云短信厂商,1:代表阿里云短信 2: 代表腾讯云短信
sms.cp=2
# 应用id
sms.appid=LTAI4Ff1jtqrSr3rkHMKEnfs
# 应用key
sms.appkey=gG33mvmMAxGYol7Vd1AEG6InRK9VCD
# 模板id
sms.templateId=SMS_180355435
# 短信签名由于编码问题,请到相应的代码里面设置
# 短信超级验证码,正式上线请修改
sms.superCode=6666
# 是否使用内置数据库 1: 表示使用 0: 使用mySql
im.embed_db=0
# jdbc url
im.jdbc_url=jdbc:mysql://mysql:3306/wfchat?useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf8
# mysql数据库访问用户名
im.user=root
#mysql数据库访问密码
im.password=123456
复制代码
启动服务
./push-group/push-group start
./push-connector/push-connector start
复制代码
项目列表
- chat-server IM服务端项目
- android-chat Android客户端项目
- vue-chat 基于vue的web端项目
- vue-mobile-chat 基于vue的移动端项目
- electron-chat 基于electron的pc端项目
- chat-proto 基于protobuf的相关proto定义文件
NOTE: 有些项目由于商业原因,有可能你无法访问.添加权限请联系QQ 1282212195
文档列表
技术说明
部署
音视频方案
功能列表
主功能 | 功能说明 | web | h5 | android |
---|---|---|---|---|
登录 | 支持腾讯云,阿里云验证码登录 | √ | √ | √ |
用户信息 | 修改用户头像 | √ | √ | √ |
修改用户昵称 | √ | √ | √ | |
好友列表 | 发送好友请求 | √ | √ | √ |
处理好友请求 | √ | √ | √ | |
修改好友备注名 | √ | √ | √ | |
好友列表查看 | √ | √ | √ | |
单聊 | 文本/视频/图片 | √ | √ | √ |
语音 | × | × | √ | |
消息删除 | √ | × | √ | |
消息撤回 | √ | × | √ | |
消息转发 | √ | × | √ | |
群聊(含基本单聊功能) | 群聊创建 | √ | × | √ |
修改群名称 | √ | × | √ | |
群聊退出 | √ | × | √ | |
群聊解散 | √ | × | √ | |
群成员列表 | √ | × | √ | |
成员邀请 | √ | × | √ | |
成员删除 | √ | × | √ | |
实时音视频 | 一对一音视频 | √ | × | √ |
群组音视频 | √ | × | × |
一次性赞助
但是随着项目的增长,也需要相应的资金支持,你可以通过以下方式来赞助此项目
支付宝 | 微信 |
---|---|
QQ 群交流
QQ群 |
---|
技术支持
如果公司采用本项目或者需要有商业需求,需要二次开发,提供技术支持,联系QQ:1282212195
作者:comsince
链接:https://juejin.im/post/5f0fae5d5188252e42159df8
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。