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

客服系统开发过程中,最让我意外的是对 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. 【webserver 前置知识 02】Linux网络编程入门其一

    网络结构模式 C/S结构 服务器 - 客户机,即 Client - Server(C/S)结构.C/S 结构通常采取两层结构.服务器负责数据的管理,客户机负责完成与用户的交互任务.客户机是因特网上访问 ...

  2. 学会了MySql高级查询让你在工作中游刃有余

    一.单元概述 通过本章的学习能够理解MySQL数据库中分组查询的含义,掌握常用分组函数的使用,掌握GROUP BY子句的使用规则,掌握分组后数据结果的条件过滤,掌握SELECT语句执行过程,理解子查询 ...

  3. 【Azure 应用服务】App Service / Function App 修改系统时区为中国时区的办法(Azure中所有服务的默认时间都为UTC时间,转换为北京时间需要+8小时)

    问题描述 在Azure的 App Service / Function App 服务中,如果是在Windows系统中,可以通过添加Application Setting来转换为中国时间(WEBSITE ...

  4. 一文上手图数据备份恢复工具 NebulaGraph BR

    作者:NebulaGraph 工程师 Kenshin NebulaGraph BR 开源已经有一段时间了,为了给社区用户提供一个更稳.更快.更易用的备份恢复工具,去年对其进行了比较大的重构.Nebul ...

  5. RocketMQ(11) 消息重试机制和死信队列

    七.消息发送重试机制 1 说明 Producer对发送失败的消息进行重新发送的机制,称为消息发送重试机制,也称为消息重投机制. 对于消息重投,需要注意以下几点: 生产者在发送消息时,若采用同步或异步发 ...

  6. Java static关键字的小练习

    1 package com.bytezreo.statictest; 2 3 /** 4 * 5 * @Description static 关键字的使用 小练习 6 * @author Byteze ...

  7. Codeforces Round 169 (Div. 2)C. Little Girl and Maximum Sum(差分、贪心)

    目录 题面 链接 题意 题解 代码 总结 题面 链接 C. Little Girl and Maximum Sum 题意 给q个[l,r]将所有这些区间里面的数相加和最大. 可以进行的操作是任意排列数 ...

  8. OpenCV开发笔记(七十六):相机标定(一):识别棋盘并绘制角点

    前言   知道图像畸变矫映射的原理之后,那么如何得到相机的内参是矫正的第一步,内参决定了内参矩阵(中心点.焦距等),用内参矩阵才能计算出投影矩阵,从而将原本畸变的图像矫正为平面投影图像.  本篇描述了 ...

  9. redis同步锁的真实应用场景

    一.问题由来 现在正在做的小程序后台中,有一个功能叫做高光时刻,在操作高光时刻的时候,可能会有多个用户来同时想操作这个功能,可是在同一时间只能 有一个用户能够操作.刚开始做的时候,自己的做法是在red ...

  10. TLV320ADC3101这颗立体声 ADC芯片分析体验及总结

    一 需求分析 音频ADC采集,顾名思义,就是采集语音信号的ADC.随着基于音视频穿戴式设备的广泛应用,音频ADC使用十分广泛.TI的这颗ADC芯片凭借着先发优势,在很多领域已经有广泛的应用了. 作为一 ...