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

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

智能推荐

android 视图动画遇到的坑_android view有动画时执行invisible-程序员宅基地

文章浏览阅读1.6k次。Android中视图动画使用率越来越少了,很多大神都使用属性动画了。但个人觉得视图动画比属性动画使用起来更简单,所以能用视图动画实现的就不考虑用属性动画。 今天在项目中使用视图动画时,遇到了几个坑,记录下来,供踩到同样坑的同学参考一下~一、平移与缩放冲突 使用视图动画,常使用到动画集合AnimationSet,然后在动画集合中添加平移、绽放,旋转等动画。_android view有动画时执行invisible

Anaconda新手使用教程_anaconda使用教程-程序员宅基地

文章浏览阅读4.6w次,点赞102次,收藏897次。Anaconda使用教程一(新手友好)前言一、python和包以及anaconda的概念关系关于python与包关于anaconda二、Anaconda安装问题对windows三、Anaconda使用问题配置Anaconda源可能出现的错误conda install 仍然出现下载速度慢的错误四、Anaconda创建虚拟环境并使用创建你的第一个环境查看当前conda所有环境激活你的环境在你的环境中用conda或者pip安装包查看环境中现有的包在环境中运行python程序(windows系统)退出当前环境删除环_anaconda使用教程

hdu 3496 二维费用背包_hdu - 3496-程序员宅基地

文章浏览阅读1k次。题意:求在一定l时间内看完n中电影中的m是否可能,若可能则最后快乐度是多少。之前错了好多遍,一直找不到原因,后来在百度上看了很多别人的代码发现只有初始化不同我的初始化: memset(f,0,sizeof(f));别人的: for(int i=0;i for(int j=0;j一开始认为没什么影响,但是苦于一直找不到原因,所以我将自_hdu - 3496

Random、SecurityRandom、Math.random()_securerandom和math.random()-程序员宅基地

文章浏览阅读2k次。下面可以不看,一句话,为了其安全起见,以后我们就用SecurityRandom就好了。JDK中有两个随机数类。一个是PRNG,也就伪随机数类java.util.Random,是采用线性同余算法产生的。另一个是RNG,也就是java.util.Random的子类强随机数java.security.SecureRandom,这是一个SPI类,也就是说具体的算法由Pro..._securerandom和math.random()

npm安装vue报错:npm ERR! code ETIMEDOUT-程序员宅基地

文章浏览阅读8k次,点赞8次,收藏8次。npm安装vue报错npm ERR! code ETIMEDOUT_code etimedout

Linux解决Warning: mysql_connect(): Headers and client library minor version mismatch. 警告_mysql headers:50647-程序员宅基地

文章浏览阅读5k次。这两天用阿里云服务器重新部署网站服务器后,打开某php页面出现了如下警告:Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50547 Library:50631 in /XXX(某某目录)/wp-db.php on line 1520,虽然是警告,但是有的界面会因此打不开,无法..._mysql headers:50647

随便推点

基于verilog驱动M25P16(FLASH)--------(一)_m25p16 verilog sim model-程序员宅基地

文章浏览阅读97次。基于verilog驱动M25P16(FLASH) -------- SPI简介_m25p16 verilog sim model

windows11家庭版开启hyper-v功能-程序员宅基地

文章浏览阅读23次。新建hyperv.bat,输入以下内容。管理员运行bat即可。

CentOS 7 如何为 PHP 5.6 安装 MSSQL 扩展_宝塔面板centos7/php5.6安装mssql扩展-程序员宅基地

文章浏览阅读4.9w次。背景前两天写了一篇文章 OSX MAMP 如何为 PHP 5.6 安装 MSSQL 扩展,讲的是自己的个人电脑,也就是开发环境如何为 PHP 5.6 安装 MSSQL 扩展,现在要上生产了,继续讲讲怎么给 CentOS7 安装 PHP - MSSQL 扩展。运行环境操作系统CentOS Linux release 7.8.2003 (Core)集成环境宝塔PHP 5.6.40步骤和之前一样,我们先来整理一下整体的步骤:1、安装 freetds2、安装 mssql.so 扩展(p_宝塔面板centos7/php5.6安装mssql扩展

Android的jsoup方法,Android HTML Jsoup解析速度-程序员宅基地

文章浏览阅读147次。这是交易 . 在我的Android应用程序中,我正在使用Jsoup进行一些网络抓取 . 现在它工作正常,但它太慢了 . 我在我的代码中做的是:通过Jsoup中的POST方法登录页面;获取cookie;通过重用cookie,我将浏览6页(POST和GET)并抓取它们(主要是表格和大量行 . 我的意思是很多......所以,真的很多foreach循环);将所有必需的数据写入SQLiteDatabase..._jsoup速度太慢

湖仓方案DeltaLake、Hudi、Iceberg功能对比_星环胡仓一体和hudi对比-程序员宅基地

文章浏览阅读2.6k次。湖仓方案DeltaLake、Hudi、Iceberg功能对比_星环胡仓一体和hudi对比

64位 编译 OpenCV 常见错误_m_pi' was not declared in this scope-程序员宅基地

文章浏览阅读3.7k次。编译 OpenCV打开终端进行编译:(-j 是使用 8 个线程进行编译,请根据你的计算机配置合理设置线程数)E:cd E:\opencv_341\opencv_mingw64_buildmingw32-make -j 8mingw32-make install如果 mingw32-make -j 8遇到错误,请看下面的 编译 OpenCV 常见错误,否则执行 mingw32-make..._m_pi' was not declared in this scope