春松客服部署-程序员宅基地

技术标签: 项目分享  java  intellij-idea  

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fEWZETaq-1628470395423)(file:///C:\Users\student\AppData\Local\Temp\ksohtml25096\wps1.jpg)]

如何在Linux服务器上安装

https://www.cnblogs.com/kingsonfu/p/11576797.html

docker

1、首先得是64位的系统,内核版本大于3.10。用root用户操作

内核版本查看指令

uname -r

2、卸载旧版本(如果以前安装过旧版本的话)
yum remove docker
docker-common
docker-selinux
docker-engine

3、安装依赖的软件包
yum install -y yum-utils
device-mapper-persistent-data
lvm2

4、设置yum源
yum-config-manager
–add-repo
https://download.docker.com/linux/centos/docker-ce.repo

5.1、查看docker版本列表

yum list docker-ce --showduplicates | sort -r

5.2、安装最新版docker

yum install -y docker-ce

5.3、安装指定版本docker(这里举例安装版本为 17.09.0.ce)

yum install -y docker-ce-17.09.0.ce

6、启动docker

systemctl start docker.service

7、查看docker版本并验证是否安装成功(有client和server即表示安装成功)

docker version

安装docker-compose

sudo curl -L “https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose- ( u n a m e − s ) − (uname -s)- (unames)(uname -m)” -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

另一方法

wget https://github.com/docker/compose/releases/download/1.24.0/docker-compose- ( u n a m e − s ) − (uname -s)- (unames)(uname -m) -O /usr/local/bin/docker-compose

Centos 为例搭建 Git 服务器。

https://www.runoob.com/git/git-server.html

部署GitLab

docker 部署git

https://www.cnblogs.com/zuxing/articles/9329152.html

服务器部署

Samurais edited this page 12 days ago · 14 revisions

春松客服部署方案

单服务器部署

使用Docker和Docker compose的方式,适合体验春松客服、开发和测试春松客服。

项目 说明
操作系统 Linux (CentOS 7.x, Ubuntu 14.x等)
Docker 版本 Docker version 1.13.x 及以上
Docker Compose 版本 version 1.23.x 及以上
防火墙端口 8035, 8036
其他软件 git
内存 >= 8GB
CPU颗数 >= 2
硬盘 >= 20GB

git clone https://github.com/chatopera/cosin.git

cd cosin

cp sample.env .env # 使用文本编辑器打开 .env 文件,并按照需求需改配置

· 配置项

KEY 默认值 说明
COMPOSE_FILE docker-compose.yml 服务编排描述文件,保持默认值
COMPOSE_PROJECT_NAME cskefu 服务实例的容器前缀,可以用其它字符串
MYSQL_PORT 8037 MySQL数据库映射到宿主机器使用的端口
REDIS_PORT 8041 Redis映射到宿主机器的端口
ES_PORT1 8039 ElasticSearch RestAPI 映射到宿主机器的端口
ES_PORT2 8040 ElasticSearch 服务发现端口映射到宿主机器的端口
CC_WEB_PORT 8035 春松客服 Web服务地址映射到宿主机器的端口
CC_SOCKET_PORT 8036 春松客服 SocketIO服务映射到宿主机器的端口
ACTIVEMQ_PORT1 8051 ActiveMQ 端口
ACTIVEMQ_PORT2 8052 ActiveMQ 端口
ACTIVEMQ_PORT2 8053 ActiveMQ 端口
DB_PASSWD 123456 数据库密码,设置到MySQL, Redis, ActiveMQ
LOG_LEVEL INFO 日志级别,可使用 WARN, ERROR, INFO, DEBUG

以上配置中,端口的各默认值需要保证在宿主机器上还没有被占用;数据库的密码尽量复杂;CC_WEB_PORTCC_SOCKET_PORT这两个值尽量不要变更;生产环境下LOG_LEVEL使用至少WARN的级别

· 安全组

如果使用云主机,要考虑到不同云服务提供商的安全组设置,允许8035和8036端口下行。

· 启动服务

cd cosin # 进入下载后的文件夹

docker-compose pull # 拉取镜像

docker-compose up -d contact-center # 启动服务

然后,从浏览器打开 http://YOUR_IP:CC_WEB_PORT/ 访问服务。 默认管理员账号: admin 密码: admin1234

其他命令

· 查看服务状态

docker-compose ps

· 查看服务日志

docker-compose logs -f contact-center

· 关闭服务

docker-compose down

· 重启服务

docker-compose restart

机器人插件的导入

cd cosin

cd public/plugins

cd chatbot

./scripts/install.sh

卸载插件

./scripts/uninstall.sh

外呼系统插件导入

春松客服:开发环境

Samurais edited this page 26 days ago · 23 revisions

本文档主要是介绍如何完成春松客服开发环境的搭建。

目录

依赖

· Git

· Java 8+

· Maven 3+

· IntelliJ IDEAEclipse

· Docker 18+

· Docker compose 1.22+

· MySQL管理客户端 Navicat for MySQL

修改maven2配置

确保在pom.xml中存在如下的maven库。

在内存在:

​ chatopera

​ Chatopera Inc.

​ https://nexus.chatopera.com/repository/maven-public

​ true

​ true

配置文件的示例见 pom.xml

如配置后不能下载,请参考配置文件

下载代码

git clone https://github.com/chatopera/cosin.git

数据库

在源码中,有默认使用docker-compose启动服务的描述文件 docker-compose.yml,用于快速准备开发环境。

Elasticsearch

春松客服依赖Elasticsearch服务,如果没有Elasticsearch服务,可以用下面的方式创建。

cd cosin

docker-compose up -d elasticsearch

Elasticsearch的配置项在application.properties是

spring.data.elasticsearch.cluster-name=elasticsearch

spring.data.elasticsearch.cluster-nodes=127.0.0.1:9300

将cluster-nodes配置为开发服务地址,默认为"YOUR_IP:9300"

ActiveMQ

春松客服依赖ActiveMQ服务,如果没有ActiveMQ服务,可以用下面的方式创建。

cd cosin

docker-compose up -d activemq

ActiveMQ的配置项在application.properties是

spring.activemq.broker-url=tcp://localhost:61616

spring.activemq.user=admin

spring.activemq.password=admin

spring.activemq.pool.enabled=true

spring.activemq.pool.max-connections=50

将以上值修改为ActiveMQ的实际地址和密码。

MySQL

春松客服依赖MySQL服务,如果没有MySQL服务,可以用下面的方式创建。

cd cosin

docker-compose up -d mysql

在第一次执行这个命令时,mysql容器会自动创建contactcenter数据库并导入相关的表,因为该容器初始化时加载了contact-center/config/sql/cskefu-MySQL-slim.sql文件。

连接MySQL服务

使用docker-compose启动的服务

IP 用户名 密码 端口
localhost root 123456 8037

MySQL****数据字典

在线浏览数据字典

Redis

春松客服依赖Redis服务,如果没有Redis服务,可以用下面的方式创建。

docker-compose up -d redis

Redis启动后就可以,不需要其他操作。

安装插件

春松客服的一些定制化需求是通过插件的形式发布的,插件让非通用需求和定制化开发的功能的源码与基础代码分离。一些插件是付费的,一些插件是免费的,比如机器人客服插件就是免费开源的。

插件的安装和源码参考:https://github.com/chatopera/cosin/tree/osc/public/plugins

生成项目描述

文件目录介绍

目录 说明
_m2 用于Dockerfile中,构建镜像
admin 各种脚本
app 源代码
config 数据库文件
data 数据库数据
logs 日志

春松客服是基于Java开发到,使用Maven维护项目声明周期。使用Maven命令,生成项目,方便导入到IDE中。

Eclipse

cd cosin

./admin/gen-eclipse.sh

IntelliJ IDEA

cd cosin

./admin/gen-idea.sh

配置文件

春松客服是基于spring boot release 1.5.9 开发,配置文件是

cosin/contact-center/app/src/main/resources/application.properties

数据库连接等其他信息,参考该文件,如果需要覆盖这些值,在开发过程中,很常见,可以有以下两个方式:1)使用application-dev.properties;2)使用环境变量。

使用 application-dev.properties 覆盖默认配置

有两种方式修改默认的配置,一种是用环境变量+properties文件。

1(application-dev.properties)

web.upload-path=/Users/zhang/Desktop/cosin/contact-center/data

spring.data.elasticsearch.cluster-nodes=127.0.0.1:8040

在这里插入图片描述

spring.datasource.url=jdbc:mysql://localhost:3306/cosinee?useUnicode=true&characterEncoding=UTF-8

spring.datasource.username=root

spring.datasource.password=123456

spring.redis.host=127.0.0.1

# Redis服务器连接端口

spring.redis.port=8041

# Redis服务器连接密码(默认为空)

spring.redis.password=123456

# ActiveMQ

spring.activemq.broker-url=tcp://localhost:8052

spring.activemq.user=admin

spring.activemq.password=123456

cskefu.settings.webim.visitor-separate=true

· 设置环境变量

SPRING_PROFILES_ACTIVE=dev

· 创建application-dev.properties

touch contact-center/app/src/main/resources/application.properties

内容如下:

application-dev.properties

web.upload-path=C:/Users/Administrator/Desktop/cosins/data <—上传地址–>**


spring.data.elasticsearch.cluster-nodes=47.108.51.69:8040


spring.datasource.url=jdbc:mysql://47.108.51.69:8037/cosinee?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456


spring.redis.host=47.108.51.69


spring.redis.port=8041
# Redis服务器连接密码(默认为空)*
spring.redis.password=123456*


spring.activemq.broker-url=tcp://47.108.51.69:8052
spring.activemq.user=admin
spring.activemq.password=123456


**cskefu.setings.webim.visitor-separate=trur

在这里插入图片描述

# MySQL

spring.datasource.url=jdbc:mysql://192.168.2.217:7111/cosinee?useUnicode=true&characterEncoding=UTF-8

spring.datasource.username=root

spring.datasource.password=123456

spring.redis.host=192.168.2.217

在这里插入图片描述

# Redis服务器连接端口

spring.redis.port=7114

# Redis服务器连接密码(默认为空)

spring.redis.password=123456

# ActiveMQ

spring.activemq.broker-url=tcp://192.168.2.217:9007

spring.activemq.user=admin

spring.activemq.password=123456

此处可以覆盖application.properties中的任何值。

使用环境变量覆盖默认配置

同时,配置信息也可以通过环境变量方式映射,并覆盖application.properties中等配置,其映射方式为propery的键转为大写同时.和-转为_。部分环境变量:

SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/contactcenter?useUnicode=true&characterEncoding=UTF-8

SPRING_DATASOURCE_USERNAME=root

SPRING_DATASOURCE_PASSWORD=123456

并且,环境变量的值优先级高于properties文件。

导入项目到集成开发工具

以IDEA为例,导入

配置执行**/**调试

配置运行方式为Spring,应用为 com.chatopera.cc.app.Application

配置环境变量

在这里插入图片描述

执行**/**调试

点击"执行"或"调试",服务启动,然后访问 http://localhost:8035 确定服务正常运行了。

用户名:admin 密码:admin1234

热更新

在开发过程中,修改了代码,更新正在以 调试 模式运行服务,点击"执行旁边的锤子"。

更新成功后,提示

另外, 调试 模式下,也支持断点调试。

部署机器人插件

如果用Windows使用gitbash执行命令

以管理员的身份执行

Redis测试

https://www.cnblogs.com/mazhichu/p/12144539.html

*Https部署*

*Caddy*

创建目录(在root目录下)

$ mkdir -p caddy/{conf,logs,www}

$ cd caddy

目录结构为个人习惯,可以按照自己的习惯配置

配置Caddyfile

$ vi conf/Caddyfile

:80 {

log stdout

errors stdout

proxy / contact-center:8035 {

​ # 传递请求头

​ transparent

}

# 代理WebScoket

proxy /socket.io contact-center:8036 {

​ transparent

​ # WebScoket 支持

​ websocket

}

}

www.???.net {

gzip

root /opt/www

timeouts 30s

log /opt/logs/access.log

proxy /other localhost:8080

proxy /more localhost:8081 localhost:8082 #负载均衡

}

以上是在配置公网域名后的配置,还没有配置域名?那直接用 IP 就行,如下

192.168.1.2:80 192.168.1.2:443 {

gzip

root /opt/www

tls self_signed #自动签名,很重要

timeouts 30s

log /opt/logs/access.log

proxy /other localhost:8080

}

相信很多人会和我一样,caddy是在 虚拟机 上部署,但是访问却在物理机上,如果按照网上的一些配置文档,随便编写一个域名,就会无法访问,不在同一个环境了,物理机上输入自定义的域名是不可能解析出ip访问到你的虚拟机的

————————————————

caddy:

image: abiosoft/caddy:latest

container_name: caddy

restart: always

environment:

- TZ=Asia/Shanghai

- agree

- [email protected]

volumes:

- ./caddy/conf/Caddyfile:/etc/Caddyfile

- ./caddy/.caddy:/root/.caddy

- ./caddy/logs:/opt/logs

- ./caddy/www:/opt/www

ports:

- 80:80

- 443:443

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44724703/article/details/119530216

智能推荐

javaKMP算法(含KMP算法代码)_kmp算法 java-程序员宅基地

该文章介绍了java中的KMP算法,包括暴力匹配算法和KMP算法的介绍,以及KMP算法在字符串匹配问题中的应用。文章还展示了KMP算法的代码。

Mysql批量插入数据_mysql循环写批量新增-程序员宅基地

文章浏览阅读3.9k次。Mysql批量插入数据今天我们来测试在MySql中使用多种方法来进行数据的插入并统计插入时间了差异1、单条插入首先我们先尝试最简单的方法,循环多次单条插入数据库:int start=0; int num=0; while (true) { List<FactoryInfo> list = factoryInfoMapper.getByTime(startTime, endTime, start, start + 1000); _mysql循环写批量新增

【Cprimerplus_03】算术运算符、关系运算符、逻辑运算符_算术运算符,逻辑运算符和关系运算符-程序员宅基地

文章浏览阅读5.3k次,点赞3次,收藏11次。### 【附录2:算术运算符、关系运算符、逻辑运算符】文章里面的所有截图和“之前所学过的内容”都是来自于翁恺的C语言视频。之前已经学习过简单的算术运算符、关系运算符(又称比较运算符)、逻辑运算符。为了避免混淆,查阅资料总结如下。(不是完整的优先级表,随着之后的学习会逐渐补充完整)首先应该记住的是:单目运算的优先级>其他运算>三目运算>赋值运算一般情况下,算术运算的优先级>关系运算>逻辑运算>赋值运算1 算术运算不需要刻意记忆,按照我们日常生活中的规律去理解即可,比如乘除的优先级比加减高_算术运算符,逻辑运算符和关系运算符

英文语音识别翻译-程序员宅基地

文章浏览阅读2.1k次。广告关闭2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品。未来,我们一起乘风破浪,创造无限可能。腾讯云语音识别服务开放实时语音识别、一句话识别和录音文件识别三种服务形式,满足不同类型开发者需求... 语音识别 简介 腾讯云语音识别 为企业提供极具性价比的语音识别服务 被微信王者荣耀 腾讯视频等大量内部业务使用 外部落地录音质检 会议实时转写 法庭审讯记录 语音输入法等多...

基于AM335X开发板 ARM Cortex-A8——Acontis EtherCAT主站开发案例_ec-enginner csdn-程序员宅基地

文章浏览阅读783次。本文档主要说明TL335x-EVM-S评估板基于德国Acontis公司EtherCAT主站协议栈控制伺服电机的方法,_ec-enginner csdn

探索前沿科技:ChatGPT-WX —— 在微信中体验AI对话助手的魅力-程序员宅基地

文章浏览阅读260次,点赞4次,收藏3次。探索前沿科技:ChatGPT-WX —— 在微信中体验AI对话助手的魅力项目地址:https://gitcode.com/super6wenzi/chatGPT-wx项目简介ChatGPT-WX 是一个将OpenAI的ChatGPT服务集成到微信小程序的应用。通过该项目,用户无需离开微信即可与强大的AI模型进行自然语言交互,获取信息、解答疑问甚至进行创意写作。技术分析核心组件:Cha...

随便推点

云服务器重装系统步骤,腾讯云服务器如何更换操作系统?更换系统镜像重装系统方法...-程序员宅基地

文章浏览阅读2.6k次。腾讯云镜像市场中提供了很多公共镜像,当时我们发现之前的操作系统不适合我们业务的时候,我们可以更换系统。我们在购买腾讯云服务器后,如果要更换操作系统,应该怎么办呢?更换系统镜像就相当于重装系统了,腾讯云服务器更换系统支持这个操作的。如果是同平台内更换,如 linux换linux,windows换windows,可以直接在云主机控制台的重装系统按钮进行自主更换。方法如下:1.首先我们通过百度查找登录腾..._怎样换系统镜像

微信小程序发起微信支付 (1)原理简述_微信支付原理-程序员宅基地

文章浏览阅读3.5k次。微信小程序发起微信支付 (1)原理简述最近由于竞赛的原因,开始学习移动支付技术及微信小程序的开发。本文作为笔者的学习笔记,以腾讯官方的开发者文档为基准,试图简单地讲清楚在微信小程序中发起微信支付的原理、实现过程,以及具体应用到小程序上是如何实现的。文章目录微信小程序发起微信支付 (1)原理简述微信支付分类1.支付种类:2.支付工具JAPI支付1.JAPI支付定义2.JAPI的支付接口及其规则2..._微信支付原理

Navicat必备快捷键与使用技巧(边用边更新...)_navicat自定义快捷键-程序员宅基地

文章浏览阅读6.6k次,点赞4次,收藏19次。整理一下Navicat_navicat自定义快捷键

解决拉取Vue项目报错Cannot find module ‘webpack/lib/RuleSet‘_cannot find module 'webpack/lib/ruleset-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏4次。第一步:将 package-lock.json和node_modules包删除。第二步:删除webpack,重装了老的版本。_cannot find module 'webpack/lib/ruleset

JAVA GC 分代垃圾收集过程及各种GC的特点_java series gc-程序员宅基地

文章浏览阅读729次。JAVA GC 分代垃圾收集过程及各种GC的特点_java series gc

计算机组成原理实验报告南通大学,《计算机组成原理》实验报告-程序计数器...-程序员宅基地

文章浏览阅读2.5k次,点赞2次,收藏5次。资料简介南通大学信息科学技术学院《计算机组成实验》实验报告实验名称 程序计数器的设计与实现班级 物联网工程 192学生姓名 谢焘 学号 1930110689指导教师日 期实验1 程序计数器的设计一、实验目的1.熟悉 Vivado 软件的使用方法。2.熟悉寄程序计数器的功能。3.掌握自顶而下的硬件模块设计方法。4.掌握电路仿真测试方法,掌握仿真激励文件的编写,掌握仿真输出的分析方法。二、实验任务设计...