新手上云实践 | 腾讯云轻量应用服务器部署开源WBO白板工具
新手上云实践 | 腾讯云轻量应用服务器部署开源WBO白板工具前言一、WBO介绍二、本次环境规划2.1 本次实践简介2.2 本次环境规划三、购买轻量应用服务器3.1 腾讯云轻量应用服务器3.2 购买轻量应用服务器3.3 检查轻量应用服务器状态四、切换应用模版4.1 本次实践应用模版介绍4.2 切换Node.js应用模版4.3 登录轻量应用服务器4.4 检查云服务器环境五、部署WBO应用5.1 下载WBO项目5.2 查看项目内容5.3 设置npm镜像源(可选5.4 安装依赖5.5 启动WBO服务5.6 设置环境变量5.7 设置service服务5.8 本机测试WBO服务六、安全设置工作6.1 本机防火墙设置工作6.2 云服务器防火墙设置工作七、访问WBO在线协作白板7.1 访问WBO首页7.2 创建私人白板7.3 在线协作八、总结前言在数字化协作需求日益增长的今天腾讯云轻量应用服务器Lighthouse以其出色的性能和易用性成为了部署各类应用的优选方案。特别是在快速搭建如WBO这样自由开源的在线协作白板时Lighthouse提供的高带宽流量包和一键构建应用功能极大地简化了部署流程。借助LighthouseWBO能够为用户提供稳定流畅的多人实时协作体验无论是创意设计还是远程教学都能轻松应对。选择腾讯云轻量应用服务器开启高效、便捷的云端协作之旅。一、WBO介绍WBOwhitebophir简介WBOwhitebophir是一个自由和开源的在线协作白板旨在为用户提供一个灵活、高效的在线协作空间。它支持多个用户同时在一个虚拟的大型白板上进行绘画和创作所有操作均实时同步至所有在线参与者确保了信息的即时共享与交流。无论是在艺术创作、娱乐互动、设计讨论还是教育辅导等领域WBO都能提供强大的支持满足多样化的协作需求。WBO 白板特点实时协作绘图与他人实时协作绘制图形变得异常简单只需分享白板的URL即可邀请对方加入。公共白板任何人都可以使用公共白板方便临时团队或公开项目使用。私有白板用户可以创建带有随机名称的私有白板确保只有通过特定链接才能访问保护隐私安全。自定义URL支持创建可命名的私有白板并允许自定义其URL便于记忆和分享同时也保证了访问的私密性。二、本次环境规划2.1 本次实践简介1.本次实践为个人测试学习环境旨在新手快速上云和部署应用生产环境请谨慎2.本次实践在腾讯云轻量应用服务器上部署了开源WBO白板工具。2.2 本次环境规划本次实践的环境规划如下云厂商云产品应用模板应用模板版本操作系统版本部 署项目备注腾讯云轻量应用服务器Node.jsnode.js—v16.14.2Centos 7WBOwhitebophir—三、购买轻量应用服务器3.1 腾讯云轻量应用服务器如果您正在寻找一款高性价比的云服务器来部署您的应用腾讯云轻量应用服务器是一个不错的选择。它开箱即用非常适合个人开发者和初创团队。目前腾讯云官方正在举办特惠活动云服务器等爆款产品抢先购是上云的好时机。可以点击下方链接立即前往活动页面了解详情并参与购买立即前往腾讯云特惠活动【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中立即参与活动✨ 抓住机会享受更多优惠3.2 购买轻量应用服务器登录腾讯云账号在轻量应用服务器产品介绍页中点击“立即选购”进入到轻量应用服务器购买页面。购买流程应用创建方式使用应用模版 应用模版选择Docker CE也可以根据自身需要选择不同的应用模版地域默认即可 套餐规格根据需要选择规格的套餐登录凭证自定义密码自行设置密码其余配置默认确认所有配置项无误后点击购买即可。3.3 检查轻量应用服务器状态购买成功后在云服务器控制台看到购买的轻量应用服务器实例当看到状态为“运行中”时候轻量应用服务器运行正常。如下图所示这是我提前购买好的两台轻量应用服务器本次实践以Docker-APP实例为操作环境。四、切换应用模版4.1 本次实践应用模版介绍使用应用模板服务器创建后基于模板自动构建应用实现开箱即用简单便捷。适合快速构建应用的用户尤其是需要迅速启动项目的开发者和团队。一键使用Node.js应用模板大幅节省开发环境部署时间避免繁琐的配置过程提升开发效率。4.2 切换Node.js应用模版在购买腾讯云轻量应用服务器后如果我们要切换系统可以选择云服务器的“重装系统”功能。如下图所示点击“重装系统选项”进入系统重置配置页面。在系统重置配置页面我们选择使用应用模版——Node.js设置登录密码确认即可。等待实例状态正常运行后我们看此时轻量应用服务器的镜像为Node.js应用信息为预装Node.js和Nginx。4.3 登录轻量应用服务器我们可以使用Cloud Shell登录轻量应用服务器点击“登录”选项。腾讯云轻量应用服务器的cloud shell远程登录功能默认开启一键免密登录到服务器 可以直接连接到云服务器也可以手动关闭。使用Xshell方式连接本地打开Xshell工具输入弹性公网IP地址登录账号和密码即可连接腾讯CVM云服务器。4.4 检查云服务器环境检查操作系统版本当前操作系统版本为CentOS 7。[rootVM-8-13-centos ~]# cat /etc/os-releaseNAMECentOS LinuxVERSION7 (Core)IDcentosID_LIKErhel fedoraVERSION_ID7PRETTY_NAMECentOS Linux 7 (Core)ANSI_COLOR0;31CPE_NAMEcpe:/o:centos:centos:7HOME_URLhttps://www.centos.org/BUG_REPORT_URLhttps://bugs.centos.org/CENTOS_MANTISBT_PROJECTCentOS-7CENTOS_MANTISBT_PROJECT_VERSION7REDHAT_SUPPORT_PRODUCTcentosREDHAT_SUPPORT_PRODUCT_VERSION7检查内核版本当前内核版本为3.10.0-1160.108.1.el7.x86_64。[rootVM-8-13-centos ~]# uname -r3.10.0-1160.62.1.el7.x86_64检查Node版本当前默认安装的版本为v16.14.2。[rootVM-8-13-centos ~]# node -vv16.14.2[rootVM-8-13-centos ~]# npm -v8.5.0五、部署WBO应用5.1 下载WBO项目执行以下命令在Github下载whitebophir源码包。gitclone https://github.com/lovasoa/whitebophir.git5.2 查看项目内容进入whitebophir项目目录[rootVM-8-13-centos ~]# cd whitebophir/[rootVM-8-13-centos whitebophir]#查看whitebophir项目内容[rootVM-8-13-centos whitebophir]# tree -L 2 ././ ├── AUTHORS ├── CHECKS ├── client-data │ ├── apple-touch-icon.png │ ├── apple-touch-icon-precomposed.png │ ├── background.png │ ├── board.css │ ├── board.html │ ├── crossdomain.xml │ ├── error.html │ ├── favicon.ico │ ├── favicon.svg │ ├── frontpage-illustration.svg │ ├── github.svg │ ├── icon-size.svg │ ├── index.css │ ├── index.html │ ├── instagram.svg │ ├── js │ ├── label.svg │ ├── manifest.json │ └── tools ├── docker-compose.yml ├── Dockerfile ├── LICENSE ├── nightwatch.conf.js ├── package.json ├── package-lock.json ├── README.md ├── server │ ├── boardData.js │ ├── check_output_directory.js │ ├── client_configuration.js │ ├── configuration.js │ ├── createSVG.js │ ├── fs_promises.js │ ├── jwtauth.js │ ├── jwtBoardnameAuth.js │ ├── log.js │ ├── server.js │ ├── sockets.js │ ├── templating.js │ └── translations.json ├── server-data └── tests └── integration.js6directories,40files5.3 设置npm镜像源(可选如果云服务器区域在国内地区为了加速下载速度可以将npm设置为国内淘宝最新的镜像源。npmconfigsetregistry https://registry.npmmirror.com5.4 安装依赖执行以下命令安装whitebophir项目的相关依赖。npminstall--production5.5 启动WBO服务执行以下命令启动whitebophir服务。直接启动WBO服务PORT5001HOST0.0.0.0npmstart后台启动WBO服务PORT5001HOST0.0.0.0nohupnpmstartwbo.log215.6 设置环境变量链接二进制文件ln-s/usr/local/lighthouse/softwares/nodejs/node/bin/node /usr/local/bin/nodeln-s/usr/local/lighthouse/softwares/nodejs/node/bin/npm /usr/local/bin/npm配置环境变量:在/etc/profile文件中新增以下两行。vim/etc/profileexportNODE_HOME/usr/local/lighthouse/softwares/nodejs/node/bin/exportPATH$PATH:$NODE_HOME:/usr/local/bin/使变量生效source/etc/profile5.7 设置service服务为了确保 WBO 白板服务能够在系统启动时自动运行并且可以通过 systemctl 进行方便的管理可以将其配置为一个系统服务。vim/etc/systemd/system/wbo.service[Unit]DescriptionWBO Online Collaboration WhiteboardAfternetwork.target[Service]TypesimpleEnvironmentPORT5001HOST0.0.0.0NODE_ENVproductionExecStart/usr/local/bin/npm startExecReload/usr/local/bin/npm restartExecStop/usr/local/bin/npm stopWorkingDirectory/root/whitebophir/RestartalwaysUserrootGrouprootStandardOutputappend:/root/whitebophir/wbo.logStandardErrorappend:/root/whitebophir/wbo.log[Install]WantedBymulti-user.target执行以下命令启动wbo服务。systemctl daemon-reload systemctl start wbosystemctlenablewbo重启服务器后查看wbo服务状态。[rootVM-8-13-centos ~]# systemctl status wbo● wbo.service - WBO Online Collaboration Whiteboard Loaded: loaded(/etc/systemd/system/wbo.service;enabled;vendor preset: disabled)Active: active(running)since Sat2024-11-1618:04:44 CST;12min ago Main PID:1034(npm start)CGroup: /system.slice/wbo.service ├─1034npmstart └─1464node./server/server.js Nov1618:04:44 VM-8-13-centos systemd[1]: Started WBO Online Collaboration Whiteboard. Nov1618:04:45 VM-8-13-centos npm[1034]:whitebophir1.21.2 start Nov1618:04:45 VM-8-13-centos npm[1034]:node./server/server.js Nov1618:04:46 VM-8-13-centos npm[1034]: server started{port:5001}5.8 本机测试WBO服务在云服务器本机上访问在http://127.0.0.1:5001有wbo网页内容返回则部署成功。[rootVM-8-13-centos ~]# curl http://127.0.0.1:5001 |head% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed1007239100723900350k0--:--:-- --:--:-- --:--:-- 353k!DOCTYPE htmlhtmllangenheadmetacharsetutf-8/titleWBO — Collaborative whiteboard/titlelinkrelstylesheethrefindex.css/metanamedescriptioncontentA free and open-source online collaborative drawing tool. Sketch new ideas together on WBO!/metanamekeywordscontentwhiteboard,collaborative,online,draw,paint,shared,realtime,wbo,whitebophir,open-source,GPL,javascript六、安全设置工作6.1 本机防火墙设置工作轻量应用服务器的Docker CE应用模版中默认已经将系统的防火墙和selinux都关闭了。如果没有关闭可参考以下命令关闭本地防火墙可执行以下命令。systemctl disable firewalldsystemctl stop firewalld关闭selinux可执行以下命令。sed-ris#(SELINUX).*#\1disabled#/etc/selinux/config setenforce06.2 云服务器防火墙设置工作在腾讯云轻量应用服务器中需要配置防火墙防火墙所提供的安全防护作用等同于云服务器中的安全组不支持为轻量应用服务器配置安全组。我们选择添加规则放行5001端口。七、访问WBO在线协作白板7.1 访问WBO首页访问地址http://弹性公网IP地址:5001将IP地址替换为自己服务器的弹性公网IP地址。我们可以正常访问到WBO在线协作白板的首页如下所示7.2 创建私人白板创建可命名的私人白板自定义填写白板名称点击“Go”进入个人白板页面。7.3 在线协作进入公共白板进行绘图操作。切换到其余电脑的浏览器打开公共白板我们可以继续编辑该白板内容。八、总结通过在腾讯云轻量应用服务器上部署开源WBO白板工具我们充分体验到了其卓越的性能和简便的操作。Lighthouse提供的高带宽流量包和一键构建应用功能使得整个部署过程变得异常快捷和顺畅。WBO白板的实时协作功能在腾讯云的支持下表现得非常稳定极大地提升了团队协作的效率。无论是艺术创作、设计讨论还是远程教学腾讯云轻量应用服务器都展现出了强大的适应性和可靠性。选择腾讯云轻量应用服务器无疑是迈向高效云端协作的最佳选择。

相关新闻

如何用三月七小助手解放你的星穹铁道游戏时间?

如何用三月七小助手解放你的星穹铁道游戏时间?

如何用三月七小助手解放你的星穹铁道游戏时间? 【免费下载链接】March7thAssistant 崩坏:星穹铁道全自动 三月七小助手 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 每天在《崩坏:星穹铁道》中重复点击相同的按钮…

2026/10/9 3:13:49 阅读更多 →
跨境电商物流架构演进:基于5大仓群24仓的网格化履约系统设计与成本优化

跨境电商物流架构演进:基于5大仓群24仓的网格化履约系统设计与成本优化

针对2026年中大件出海面临的尾程Zone分区成本递增问题,本文提出一种基于5大仓群24仓的网格化履约架构。通过智能分仓算法将5区内订单占比提升至85%-90%,实现物流成本降低20%-35%。本文将深入探讨该供应链创新实践中的系统设计与数据模型。 一、 行业痛点…

2026/10/9 3:13:51 阅读更多 →
WFP:Windows 网络过滤的“万能插线板”

WFP:Windows 网络过滤的“万能插线板”

做 Windows 网络开发,特别是防火墙、VPN、网络监控这类东西,WFP(Windows Filtering Platform)是绕不开的。不过一说起驱动、内核、Callout,确实容易让人头大。这篇文章不讲复杂的 API 细节,只希望用最通俗的…

2026/10/10 3:42:43 阅读更多 →

最新新闻

数据指标体系构建实战:从北极星指标到指标字典落地

数据指标体系构建实战:从北极星指标到指标字典落地

数据指标体系这几年被提及的频率越来越高,但真正能在团队里落地、业务方愿意天天打开看的指标体系,其实并不多见。很多团队搭来搭去,最后都变成了报表堆砌——指标倒是几十上百个,真正被决策用的还是那三五个。问题不在工具&#…

2026/10/12 8:29:03 阅读更多 →
i.MX RT系列FlexSPI NOR连接方式详解:从引脚分配到Boot ROM启动配置

i.MX RT系列FlexSPI NOR连接方式详解:从引脚分配到Boot ROM启动配置

1. 从一块"点不亮"的板子说起:FlexSPI NOR连接方式为什么值得单独聊搞i.MX RT系列的朋友大概率都经历过这个场景:板子打样回来,焊上Flash,上电,串口一片安静,仿真器连上去发现芯片卡在ROM阶段&am…

2026/10/12 8:29:03 阅读更多 →
NDK开发实战:日志系统、JString转换与C++标准库避坑指南

NDK开发实战:日志系统、JString转换与C++标准库避坑指南

1. 从一个真实痛点说起:为什么NDK调试总让人抓狂如果你写过Android的JNI代码,大概率经历过这样的场景:C层某个函数返回了错误结果,你在代码里加了一堆printf,编译安装跑一遍,结果Logcat里干干净净&#xff…

2026/10/12 8:29:03 阅读更多 →
手机销售信息系统实战:从数据库设计到库存串号管理

手机销售信息系统实战:从数据库设计到库存串号管理

1. 项目概述与核心需求拆解1.1 一个销售信息系统,到底要解决什么问题先说结论:m246品牌手机销售信息系统,本质上是一套围绕“手机从入库到出库再到售后”全流程的数据管理工具。很多人一听到“销售信息系统”就觉得是做个进销存,把…

2026/10/12 8:29:03 阅读更多 →
基于RBAC的通用权限系统设计:风汐通用管理系统实践

基于RBAC的通用权限系统设计:风汐通用管理系统实践

去年有段时间我同时维护着三个内部业务系统,越做越觉得不对劲:每个系统的登录逻辑大同小异,菜单权限、按钮控制、角色分配这些东西几乎每开一个新项目都要重新来一遍,代码复制过去之后还要改表改字段改接口,真正业务功…

2026/10/12 8:29:03 阅读更多 →
artcraft:用工程化流程实现可复现的艺术创作

artcraft:用工程化流程实现可复现的艺术创作

1. 从“artcraft”这个名字说起:它到底想解决什么问题第一次看到“artcraft”这个标题,我脑子里蹦出来的第一反应是“艺术”加“手艺”,听起来像是个做创意工具的项目。但真正让我感兴趣的,是它背后隐含的那层意思——把“art”这…

2026/10/12 8:28:03 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →