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

技术标签: 项目分享  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

智能推荐

hive使用适用场景_大数据入门:Hive应用场景-程序员宅基地

文章浏览阅读5.8k次。在大数据的发展当中,大数据技术生态的组件,也在不断地拓展开来,而其中的Hive组件,作为Hadoop的数据仓库工具,可以实现对Hadoop集群当中的大规模数据进行相应的数据处理。今天我们的大数据入门分享,就主要来讲讲,Hive应用场景。关于Hive,首先需要明确的一点就是,Hive并非数据库,Hive所提供的数据存储、查询和分析功能,本质上来说,并非传统数据库所提供的存储、查询、分析功能。Hive..._hive应用场景

zblog采集-织梦全自动采集插件-织梦免费采集插件_zblog 网页采集插件-程序员宅基地

文章浏览阅读496次。Zblog是由Zblog开发团队开发的一款小巧而强大的基于Asp和PHP平台的开源程序,但是插件市场上的Zblog采集插件,没有一款能打的,要么就是没有SEO文章内容处理,要么就是功能单一。很少有适合SEO站长的Zblog采集。人们都知道Zblog采集接口都是对Zblog采集不熟悉的人做的,很多人采取模拟登陆的方法进行发布文章,也有很多人直接操作数据库发布文章,然而这些都或多或少的产生各种问题,发布速度慢、文章内容未经严格过滤,导致安全性问题、不能发Tag、不能自动创建分类等。但是使用Zblog采._zblog 网页采集插件

Flink学习四:提交Flink运行job_flink定时运行job-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏2次。restUI页面提交1.1 添加上传jar包1.2 提交任务job1.3 查看提交的任务2. 命令行提交./flink-1.9.3/bin/flink run -c com.qu.wc.StreamWordCount -p 2 FlinkTutorial-1.0-SNAPSHOT.jar3. 命令行查看正在运行的job./flink-1.9.3/bin/flink list4. 命令行查看所有job./flink-1.9.3/bin/flink list --all._flink定时运行job

STM32-LED闪烁项目总结_嵌入式stm32闪烁led实验总结-程序员宅基地

文章浏览阅读1k次,点赞2次,收藏6次。这个项目是基于STM32的LED闪烁项目,主要目的是让学习者熟悉STM32的基本操作和编程方法。在这个项目中,我们将使用STM32作为控制器,通过对GPIO口的控制实现LED灯的闪烁。这个STM32 LED闪烁的项目是一个非常简单的入门项目,但它可以帮助学习者熟悉STM32的编程方法和GPIO口的使用。在这个项目中,我们通过对GPIO口的控制实现了LED灯的闪烁。LED闪烁是STM32入门课程的基础操作之一,它旨在教学生如何使用STM32开发板控制LED灯的闪烁。_嵌入式stm32闪烁led实验总结

Debezium安装部署和将服务托管到systemctl-程序员宅基地

文章浏览阅读63次。本文介绍了安装和部署Debezium的详细步骤,并演示了如何将Debezium服务托管到systemctl以进行方便的管理。本文将详细介绍如何安装和部署Debezium,并将其服务托管到systemctl。解压缩后,将得到一个名为"debezium"的目录,其中包含Debezium的二进制文件和其他必要的资源。注意替换"ExecStart"中的"/path/to/debezium"为实际的Debezium目录路径。接下来,需要下载Debezium的压缩包,并将其解压到所需的目录。

Android 控制屏幕唤醒常亮或熄灭_android实现拿起手机亮屏-程序员宅基地

文章浏览阅读4.4k次。需求:在诗词曲文项目中,诗词整篇朗读的时候,文章没有读完会因为屏幕熄灭停止朗读。要求:在文章没有朗读完毕之前屏幕常亮,读完以后屏幕常亮关闭;1.权限配置:设置电源管理的权限。

随便推点

目标检测简介-程序员宅基地

文章浏览阅读2.3k次。目标检测简介、评估标准、经典算法_目标检测

记SQL server安装后无法连接127.0.0.1解决方法_sqlserver 127 0 01 无法连接-程序员宅基地

文章浏览阅读6.3k次,点赞4次,收藏9次。实训时需要安装SQL server2008 R所以我上网上找了一个.exe 的安装包链接:https://pan.baidu.com/s/1_FkhB8XJy3Js_rFADhdtmA提取码:ztki注:解压后1.04G安装时Microsoft需下载.NET,更新安装后会自动安装如下:点击第一个傻瓜式安装,唯一注意的是在修改路径的时候如下不可修改:到安装实例的时候就可以修改啦数据..._sqlserver 127 0 01 无法连接

js 获取对象的所有key值,用来遍历_js 遍历对象的key-程序员宅基地

文章浏览阅读7.4k次。1. Object.keys(item); 获取到了key之后就可以遍历的时候直接使用这个进行遍历所有的key跟valuevar infoItem={ name:'xiaowu', age:'18',}//的出来的keys就是[name,age]var keys=Object.keys(infoItem);2. 通常用于以下实力中 <div *ngFor="let item of keys"> <div>{{item}}.._js 遍历对象的key

粒子群算法(PSO)求解路径规划_粒子群算法路径规划-程序员宅基地

文章浏览阅读2.2w次,点赞51次,收藏310次。粒子群算法求解路径规划路径规划问题描述    给定环境信息,如果该环境内有障碍物,寻求起始点到目标点的最短路径, 并且路径不能与障碍物相交,如图 1.1.1 所示。1.2 粒子群算法求解1.2.1 求解思路    粒子群优化算法(PSO),粒子群中的每一个粒子都代表一个问题的可能解, 通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性。    在路径规划中,我们将每一条路径规划为一个粒子,每个粒子群群有 n 个粒 子,即有 n 条路径,同时,每个粒子又有 m 个染色体,即中间过渡点的_粒子群算法路径规划

量化评价:稳健的业绩评价指标_rar 海龟-程序员宅基地

文章浏览阅读353次。所谓稳健的评估指标,是指在评估的过程中数据的轻微变化并不会显著的影响一个统计指标。而不稳健的评估指标则相反,在对交易系统进行回测时,参数值的轻微变化会带来不稳健指标的大幅变化。对于不稳健的评估指标,任何对数据有影响的因素都会对测试结果产生过大的影响,这很容易导致数据过拟合。_rar 海龟

IAP在ARM Cortex-M3微控制器实现原理_value line devices connectivity line devices-程序员宅基地

文章浏览阅读607次,点赞2次,收藏7次。–基于STM32F103ZET6的UART通讯实现一、什么是IAP,为什么要IAPIAP即为In Application Programming(在应用中编程),一般情况下,以STM32F10x系列芯片为主控制器的设备在出厂时就已经使用J-Link仿真器将应用代码烧录了,如果在设备使用过程中需要进行应用代码的更换、升级等操作的话,则可能需要将设备返回原厂并拆解出来再使用J-Link重新烧录代码,这就增加了很多不必要的麻烦。站在用户的角度来说,就是能让用户自己来更换设备里边的代码程序而厂家这边只需要提供给_value line devices connectivity line devices