在部署之前,有必要对部署目录boot
做一些说明
├── download
│ └── chat-debug.apk
├── push-connector
│ ├── jvm.ini
│ ├── lib
│ │ └── spring-boot-dubbo-push-connector-1.2.0-SNAPSHOT.jar
│ ├── logs
│ └── push-connector
└── push-group
├── jvm.ini
├── 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命令.
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: 如果是ubuntu系统,请将这里改为#!/bin/bash
NOTE: 上面指定了JAVA_HOME
目录在/data/jdk
.当然你可以把jdk防止在任意位置,只要指定其具体位置就可以,或者你也可以修改脚本,只需要配置java环境变量即可.一切都是为了配置基础的运行环境,如果你熟悉java环境,你可以随时配置
部署说明#
前置安装说明#
centos 环境准备#
minio配置#
public static String MINIO_BUCKET_GENERAL_NAME = "minio-bucket-general-name";
public static String MINIO_BUCKET_IMAGE_NAME = "minio-bucket-image-name";
public static String MINIO_BUCKET_VOICE_NAME = "minio-bucket-voice-name";
public static String MINIO_BUCKET_VIDEO_NAME = "minio-bucket-video-name";
public static String MINIO_BUCKET_FILE_NAME = "minio-bucket-file-name";
public static String MINIO_BUCKET_PORTRAIT_NAME = "minio-bucket-portrait-name";
public static String MINIO_BUCKET_FAVORITE_NAME = "minio-bucket-favorite-name";
NOTE: 所有的bucket都按照如下进行设置
下载完整安装包#
NOTE: 下载完成后,请将压缩文件解压到/
根目录下即可,注意上面的命令行都是以这个目录为标准的,切忌不要随意放置
下载部署服务#
NOTE: 由于github仓库限制以及网络问题,不便上传.当你下载完下面两个服务jar包,分别放到相应服务的lib
目录下,请选择以下最新版本下载
push-connector服务#
push-group服务#
参数配置#
目前仅有两个服务启动既可运行,参数配置仅需关心,各个目录下config即可,你需要配置下面的文件即可,具体在每个服务的config
目录下
push-connector#
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.address=zookeeper://zookeeper:2181
kurento.clientUrl=ws://media.fsharechat.cn:8888/kurento
minio.url=https://media.fsharechat.cn
minio.access_key=
minio.secret_key=
push-group#
dubbo.registry.address=zookeeper://zookeeper:2181
sms.cp=2
sms.appid=LTAI4Ff1jtqrSr3rkHMKEnfs
sms.appkey=gG33mvmMAxGYol7Vd1AEG6InRK9VCD
sms.templateId=SMS_180355435
sms.superCode=6666
im.embed_db=0
im.jdbc_url=jdbc:mysql://mysql:3306/fsharechat?useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf8
im.user=root
im.password=123456
jvm.ini 参数配置#
由于我的线上服务器使用的内存比较小,所以对push-connector
,push-group
的jvm参数做了调整.所以以下内存参数配置,可以根据自己实际机器的配置修改
-Xmx300m 最大使用内存
-Xms300m 最小使用内存
-Xmn100m 新生代内存
启动服务#
./push-group/push-group start
./push-connector/push-connector start
客户端#
vue 客户端配置#
- 配置文件
vue-chat\src\constant\index.js
export const WS_PROTOCOL = 'ws';
export const WS_IP = 'localhost';
export const HTTP_HOST = "http://"+WS_IP + ":8081/"
android 客户端#
String IM_SERVER_HOST = "chat.comsince.cn";
int IM_SERVER_PORT = 6789;
String APP_SERVER_HOST = "chat.comsince.cn";
int APP_SERVER_PORT = 8081;
NOTE: 编译前请确保Android SDK
配置正确
./gradlew clean assembleDebug