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

客服系统开发过程中,最让我意外的是对 TCP/IP 协议的认识。过去一直认为 TCP/IP 是可靠的连接,加上过去开发的软件网络环境比较稳定,很少在这个问题上纠结。

直到客服系统的客户越来越多,才重新让我认识了基于 TCP/IP 协议的软件应该如何设计开发。

有许多客户做的是外贸业务,服务器部署在海外,比如香港、韩国、美国等,有些客服之前用基于网页的客服系统,最为困扰的问题就是丢消息!而使用我的客服系统,做到了100%稳定,不丢客户不丢消息


演示网络中断,直接禁用网卡,或者手机进入飞行模式,也不丢消息,不出异常。

视频地址:https://v.youku.com/v_show/id_XNTEwNzQ5Mzg2OA==.html

我会通过一系列的文章详细分析升讯威在线客服系统的并发高性能技术是如何实现的,使用了哪些方案以及具体的做法。本文将介绍如何为多线程处理同步数据。


新版本的宝塔 Docker 与之前有所不同,本文将详细记录在新版宝塔 Docker 中部署升讯威在线客服系统的过程。

新版宝塔 Docker

安装宝塔面板

连接终端后选择不同版本一键安装。

宝塔面板大陆版

https://www.bt.cn

需要中国大陆手机号注册认证

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

宝塔面板国际版(aaPanel)

https://www.aapanel.com

无需手机号注册认证

yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh aapanel

安装完成

安装完成后会显示登录地址、用户名、密码信息。

将登录信息保存下来,然后登录宝塔面板。

安装 Nginx

登录宝塔面板后,勾选并安装以下组件

  • Nginx

客服系统对以上组件的版本没有特殊要求,可自由选择安装较新版本。

如图,勾选左侧的 Nginx 后点击“一键安装”。

安装 Docker 管理器

进入宝塔面板的 “Docker” 画面,点击“立即安装”。

下载并启动升讯威客服系统镜像

获取镜像

进入 Docker 管理画面,选择“本地镜像”标签,点击“从仓库中获取”按钮。

注意:在较早版本的宝塔面板中,进入“软件商店”画面,搜索 Docker ,找到 “Docker管理器” ,点击右侧的 “设置”即可,后续操作步骤与下文类似。

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

创建容器

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

在创建容器窗口中,选择“命令创建”,输入以下命令并执行。

docker run -p 8021:8021 -p 8022:8022 -p 8023:8023 -p 9527:9527 -dit --restart=always --privileged=true --name=linkup_latest iccb1013/linkup:latest

注意:在较早版本的宝塔面板中,不支持命令创建容器时,需手动添加端口映射:8021、8022、8023、9527

并设置执行命令: -dit --restart=always --privileged=true --name=linkup_latest

容器创建完成,状态显示为“运行中”。

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

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

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

  2. 解压后运行 Sheng.Linkup.Client.Shell.exe,并在登录画面中修改服务器地址为你的主程序地址,如 http://kf-api.yourname.com,然后使用默认账户登录。

默认站点代码 :freesite,账户: kf1 ,密码 :123 登录。

站点代码和客服的账户信息可以登录 Web 管理后台修改。

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

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

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

客服端

访客端

简介

升讯威在线客服与营销系统是一款客服软件,但更重要的是一款营销利器。

https://kf.shengxunwei.com/

  • 可以追踪正在访问网站或使用 APP 的所有访客,收集他们的浏览情况,使客服能够主动出击,施展话术,促进成单。

    访* 客端在 PC 支持所有新老浏览器。包括不支持 WebSocket 的 IE8 也能正常使用。
  • 移动端支持所有手机浏览器、APP、各大平台的公众号对接。
  • 支持访客信息互通,可传输访客标识、名称和其它任意信息到客服系统。
  • 具备一线专业技术水平,网络中断,拔掉网线,手机飞行模式,不丢消息。同类软件可以按视频方式对比测试。

希望能够打造: 开放、开源、共享。努力打造 .net 社区的一款优秀开源产品。

钟意的话请给个赞支持一下吧,谢谢~

基于新版宝塔Docker部署在线客服系统过程小记的更多相关文章

  1. 基于Odoo框架的开源在线客服系统

    cs_base 开源客服系统,基于 Odoo 的客服模块 cs_base 是在强大的 Odoo 框架的基础上实现的一个在线客服应用 基础模块包含完整的 Web 在线客服的接入,坐席管理等,通过扩展可方 ...

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

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

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

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

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

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

  5. 开发升讯威在线客服系统启示录:怎样编写堪比 MSDN 的用户手册

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程. 免费在线使用 & 免费私有化部署:https://kf.shengxunwei.com 文章目 ...

  6. 1个程序员单干之:怎样给我的升讯威在线客服系统编写堪比 MSDN 的用户手册

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程. 免费在线使用 & 免费私有化部署:https://kf.shengxunwei.com 视频实 ...

  7. Linux + .net core 开发升讯威在线客服系统:同时支持 SQL Server 和 MySQL 的实现方法

    前段时间我发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程. 有很多朋友一直提出希望能够支持 MySQL 数据库,考虑到已经有朋友在用 SQL Server,我在升级的过程中 ...

  8. Linux + .net core 开发升讯威在线客服系统:首个经过实际验证的高性能版本

    业余时间用 .net core 写了一个在线客服系统.并在博客园写了一个系列的文章,写介绍这个开发过程: .net core 和 WPF 开发升讯威在线客服系统:目录 https://blog.she ...

  9. 使用 WPF + Chrome 内核实现 在线客服系统 的复合客服端程序

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程.本产品已经成熟稳定并投入商用. 免费使用 & 私有化部署免费下载:https://docs.sh ...

  10. .net core 和 WPF 开发升讯威在线客服系统:调用百度翻译接口实现实时自动翻译

    业余时间用 .net core 写了一个在线客服系统.并在博客园写了一个系列的文章,写介绍这个开发过程. 我把这款业余时间写的小系统丢在网上,陆续有人找我要私有化版本,我都给了,毕竟软件业的初衷就是免 ...

随机推荐

  1. DataGear 制作支持全国、省、市三级数据钻取效果的地图数据可视化看板

    通过DataGear的参数化数据集.图表联动和看板API功能,可以很方便地制作支持数据钻取效果的数据可视化看板. 首先,以上级地区名为参数,新建一个参数化SQL数据集: SELECT COL_NAME ...

  2. Jmeter 之常数吞吐量作用

    一   添加方法: 线程组右键->添加->定时器-> 常数吞吐量定时器 二 作用: 常数吞吐量定时器的作用: 设置最大的吞吐量不超过设置的值 注意:如果线程能发送的请求远远低于设置的 ...

  3. Java 多线程----- 解决线程安全问题的 方式三:Lock锁 --------jdk 5.0 新增

    1 package bytezero.deadlock; 2 3 import java.util.concurrent.locks.ReentrantLock; 4 5 /** 6 * 解决线程安全 ...

  4. element_ui 知识点整理

    第一章复习,树型组件数据填充:数据组件需要的数据绑定到:data   但是具体那些字绑生成标签需要在定义一人:props ="这儿绑定对象" 对象中label  children ...

  5. 用户不在 sudoers 文件中。此事将被报告

    在终端,进入root模式 vim /etc/sudoers 在    sudo (ALL:ALL) ALL下 添加 用户名 (ALL:ALL) ALL

  6. Asp .Net Core 系列:Asp .Net Core 集成 Hangfire+MySQL

    简介 https://www.hangfire.io/ 在 .NET 和 .NET Core 应用程序中执行后台处理的简单方法,无需 Windows 服务或单独的进程. Hangfire 是一个开源的 ...

  7. Neural Dynamics on Complex Networks-KDD20

    一.摘要 学习复杂网络上的连续时间动态对于理解.预测和控制科学和工程中的复杂系统至关重要.然而,由于高维系统结构中的组合复杂性.它们难以捉摸的连续时间非线性动力学以及它们的结构-动力学依赖性,使得这项 ...

  8. Java Springboot javax.net.ssl.SSLException: Connection reset解决方案

    接口设置HTTPS TLS1.2后,随机出现SSLException: Connection reset报错: javax.net.ssl.SSLException: Connection reset ...

  9. 【atcoder abc276 】(a* 搜索)

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  10. 宁波市ctf线下赛awd总结

    这是第四届宁波市ctf比赛的线下awd经验总结. 由于主办方的服务器出错,原定于14:00开始的比赛,最后17:30才开始,一直打到20:30. 并且突然改了一部分比赛方式,取消了前30分钟的加固时间 ...