我在业余时间开发维护了一款免费开源的升讯威在线客服系统,也收获了许多用户。对我来说,只要能获得用户的认可,就是我最大的动力。

最近客服系统成功经受住了客户现场组织的压力测试,获得了客户的认可。

客户组织多名客服上线后,所有员工同一时间打开访客页面疯狂不停的给在线客服发消息,系统稳定无异常无掉线,客服回复消息正常。消息实时到达无任何延迟。

本文介绍在宝塔面板中用 Docker 方式部署升讯威在线客服系统

现在开始,五分钟搞定一切。

安装 Docker 管理器

进入宝塔面板的“软件商店”画面,搜索 Docker ,找到 “Docker管理器” 并安装。

下载并启动服务器镜像

进入宝塔面板的“软件商店”画面,搜索 Docker ,找到 “Docker管理器” ,点击右侧的 “设置”。

获取镜像

在 Docker 管理器的设置画面,选择“镜像管理”标签,点击“获取镜像”。

在“官方库”下输入镜像名称 iccb1013/linkup:latest ,点击“获取镜像”。

等待获取镜像完成。

创建容器

在 Docker 管理器的设置画面,选择“容器列表”标签,点击“创建容器”。

选择镜像 iccb1013/linkup:latest,添加端口映射:8021、8022、8023、9527

如果你的宿主机端口被占用,可自行调整要映射的宿主机端口。

执行命令输入 /usr/sbin/init

勾选“开机自动启动”。

点击“提交”按钮。

创建容器完成。

更新容器中的客服系统配置文件

进入宝塔面板的“软件商店”画面,搜索 Docker ,找到 “Docker管理器” ,点击右侧的 “设置”。

点击容器列表中,客服系统容器右侧的“终端”。

进入容器终端。

修改主程序配置文件

vim /wwwroot/Server/appsettings.json

TcpIdAddress 修改为你的宿主机 IP 地址。

ResourceAddressHostAddress 分别修改为你的静态资源站点域名和主程序域名。

数据库连接串无需修改,镜像中已经配置了 MySQL 数据库。

其它配置请参阅:主程序配置文件修改维护说明

修改完毕后,重新启动主程序服务

systemctl restart kfServer.service

修改静态资源站点配置文件

vim /wwwroot/Resource/embedded.js

__apiUrl__resourceUrl 分别修改为你的主程序域名和静态资源站点域名。

继续修改静态资源站点的配置文件

vim /wwwroot/Resource/WebChat/Config.js

__apiUrl__resourceUrl 分别修改为你的主程序域名和静态资源站点域名。

修改管理后台配置文件

vim /wwwroot/Management/config.js

ApiUrlResourceUrl 分别修改为你的主程序域名和静态资源站点域名。

全部修改完毕后,关闭终端画面。

配置服务器主程序站点

进入宝塔面板的“网站”画面,点击“添加网站”按钮,在弹出的添加对话框中,输入:

你的静态资源站点域名,如 kf-api.yourname.com

根目录无需选择,保持默认即可

PHP 版本选择 纯静态

然后点击“提交”按钮

添加成功后,点击右侧的“设置”。

然后切换到“反向代理”画面,然后切换到“配置文件”后,在开头部分添加以下内容:

map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream dotnet_server_proxy {
server localhost:5000;
keepalive 2000;
}

接着切换到“反向代理”画面,点击 “添加反向代理”。

代理名称输入 Server

目标 URL 输入 http://localhost:8021

然后点击“提交”按钮

添加反向代理成功后,点击“配置文件”。

在反向代理的配置文件中,将以下内容添加到 location / 节点:

proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;

完成站点配置后,在站点列表中点击状态列中的“运行中”,重新启动站点以使配置全部生效。

访问站点的域名,如 http://kf-api.yourname.com ,显示出版本信息。

配置静态资源站点

进入宝塔面板的“网站”画面,点击“添加网站”按钮,在弹出的添加对话框中,输入:

你的静态资源站点域名,如 kf-resource.yourname.com

根目录无需选择,保持默认即可

PHP 版本选择 纯静态

然后点击“提交”按钮

添加成功后,点击右侧的“设置”。

打开设置画面,然后切换到“反向代理”画面,点击 “添加反向代理”。

代理名称输入 Resource

目标 URL 输入 http://localhost:8022

然后点击“提交”按钮

访问静态资源站点的域名,如 http://kf-resource.yourname.com/v.html ,显示出版本信息。

配置 Web 管理后台

进入宝塔面板的“网站”画面,点击“添加网站”按钮,在弹出的添加对话框中,输入:

你的静态资源站点域名,如 kf-m.yourname.com

根目录无需选择,保持默认即可

PHP 版本选择 纯静态

然后点击“提交”按钮

添加成功后,点击右侧的“设置”。

打开设置画面,然后切换到“反向代理”画面,点击 “添加反向代理”。

代理名称输入 Management

目标 URL 输入 http://localhost:8023

然后点击“提交”按钮

访问静态资源站点的域名,如 http://kf-m.yourname.com ,显示出登录画面。

使用配置主程序时初始化得到的默认账户 kf1 和密码 123 登录。

从容器中下载匹配的客服端软件开始使用

  1. 从部署好的站点中下载匹配的客服端软件

    http://kf-resource.yourname.com/shell.zip

  2. 解压后运行 Sheng.Linkup.Client.Shell.exe,并在登录画面中修改服务器地址为你的主程序域名

    然后使用默认的客服账户 kf1 和密码 123 登录。

  1. 打开访客聊天页面,输入内容后点击发送按钮。

    http://kf-resource.yourname.com/WebChat/WebChat.html?sitecode=freesite

即可开始与客服聊天,更详细的使用说明和集成说明,请参阅在线文档的相关章节。

极限五分钟,在宝塔中用 Docker 部署升讯威在线客服系统的更多相关文章

  1. .net core 和 WPF 开发升讯威在线客服系统【私有化部署免费版】发布

    希望 .net 和 WPF 技术时至今日,还能有一些存在感. 这个项目源于2015年前后,当时开发的初版,我使用了 ASP.NET MVC 做为后端,数据库使用原生 ADO.NET 进行操作.WPF ...

  2. Docker 版 3分钟部署 .net core 开源在线客服系统,他来了

    我在博客园发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程. 前些天又应朋友的要求,发了一篇 CentOS 版本的安装部署教程:https://www.cnblogs.com ...

  3. CentOS 30分钟部署 .net core 在线客服系统

    前段时间我发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程.期间有一些朋友希望能够给出 Linux 环境的安装部署指导,本文基于 CentOS 8.3 来安装部署.在本文中我 ...

  4. 升讯威微信营销系统开发实践:(4)源代码结构说明 与 安装部署说明( 完整开源于 Github)

    GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction因为个人精力时间有限,不会再对现有代码进行更新维护,不过微信接口比较稳定,经测试至 ...

  5. Centos 7使用docker部署LAMP搭建wordpress博客系统

    0.简要概述 LAMP是目前比较流行的web框架,即Linux+Apache+Mysql+PHP的网站架构方案.docker是目前非常流行的虚拟化应用容器,可以为任何应用创建一个轻量级.可移植的容器. ...

  6. 免费开源的客服系统 Linux 服务器环境安装部署过程

    最近因为项目需要,要找一款在线客服系统集成在 APP 中使用,而且涉及到生意开单,客服系统必须稳定可靠.另外甲方要求,必须支持 Linux 服务器环境. 我们以 Ubuntu 18.04 为例把安装部 ...

  7. 每天五分钟,玩转Docker。-Day2

    Day2 镜像仓库(Docker registry) Docker registry是存储容器镜像的仓库,用户可以通过Docker client 与Docker register 进行通信,以此来完成 ...

  8. 每天五分钟,玩转Docker。

    Docker技术在国内如火如荼的流行了起来,我当然也想要赶上这时髦的技术啦.下面,我将重新拾起一年多未用的Docker,继续我的云计算之路. Day 1  学习Docker,先从Docker的命令行工 ...

  9. 不可思议的hexo,五分钟教你免费搭一个高逼格技术博客

    引言 作为程序员拥有一个属于自己的个人技术博客,绝对是百利无一害的事,不仅方便出门装b,面试时亮出博客地址也会让面试官对你的好感度倍增.经常能在很多大佬的技术文章的文末,看到这样一句话: " ...

  10. 开源 & 免费使用 & 打包下载自行部署 :升讯威 周报系统

    这个周报系统大约写于2015年,缘起当时所带的开发团队需要逐步建立或完善一些项目管理方法. 在调研了网上的诸多项目管理或周报/日报管理系统之后,并没有找到符合当时情况的系统,这里最大的问题不是网上既有 ...

随机推荐

  1. sizeof结构体数组指针和sizeof数组指针的区别

    请思考一下 以下代码输出的 sizeof 分别是多少? #include <stdio.h> typedef struct { char name[100]; unsigned char ...

  2. python列表之部分列表——切片

    目录 切片 全索引 半索引 负数索引 遍历切片 复制列表 切片 全索引 我们平常可能需要使用一个列表中的子列表,也就是部分元素,这个时候我们就需要用到切片这个功能啦 要创建切片,就如同range()函 ...

  3. Codeforces Round #656 (Div. 3) E. Directing Edges(拓扑排序)

    题目传送门 首先发现初始图五有向环的话那么肯定是"YES",否则是"NO".然后找到一种满足要求地建树规则即可.这里采用拓扑排序建树,先dfs找出目前点的拓扑序 ...

  4. VScode怎么实现c的运行,这里只讲述一些细节

    第一下载的Vscode要设置信任模式,否则你后面搞什么都没有用 第二下载minGw还是gcc 都行 第三安装插件,c,c++. 然后编译就行了,我搞了一天,主要弹出的是未找到exe文件,但是我告诉大家 ...

  5. 吉特日化MES & 标签的设计与选择

    吉特日化MES & 标签的设计与选择:如今条码和二维码在生活中随处可见,作为一种能够快速精准读取识别的手段,条码和二维码在生产车间也应用的较为广泛.如果说条码和二维码哪一种更好,我更加倾向于使 ...

  6. yarn的常用命令

    yarn 安装 npm install -g yarn 查看版本 yarn -v 开始一个新工程 yarn init 与 npm init 一样通过交互式会话创建一个 package.json yar ...

  7. 华企盾DSC由于proevhost.exe进程未添加导致rhino的文件无法预览

    解决方法:用procmon监控文件目录,然后搜索readfile,查看除了explorer.dllhost.rentimebroker是否还有其它进程添加,查到proevhost进程也读取了文件添加加 ...

  8. 【并发编程特性】并发编程特性之五种特性的探讨-volatileandsynchronized

    title: [并发编程特性]并发编程特性之五种特性的探讨 date: 2021-11-18 10:16:05.492 updated: 2021-12-26 17:43:10.414 url: ht ...

  9. 自定义md-loader来简单高效的维护组件文档

    个人觉得,组件库最难的不是开发,而是使用,怎么才能让组内同事都用起来,这才是关键 背景 虽然现在开源的组件库很多,但每个项目里还是或多或少都会有人封装出一些项目内通用的基础组件.业务组件 我参与过多个 ...

  10. libGDX游戏开发之弹窗(五)

    libGDX游戏开发之弹窗(五) libGDX系列,游戏开发有unity3D巴拉巴拉的,为啥还用java开发?因为我是Java程序员emm-国内用libgdx比较少,多数情况需要去官网和google找 ...