当前位置: 首页 > news >正文

【Linux应用部署篇】在CSDN云IDE平台部署Etherpad文档编辑器

【Linux应用部署篇】在CSDN云IDE平台部署Etherpad文档编辑器

  • 一、CSDN云IDE平台介绍
    • 1.1 CSDN云IDE平台简介
    • 1.2 CSDN云IDE平台特点
  • 二、本次实践介绍
    • 2.1 本次实践介绍
    • 2.2 Etherpad简介
  • 三、登录CSDN云IDE平台
    • 3.1 登录CSDN开发云
    • 3.2 登录云IDE
    • 3.3 新建工作空间
    • 3.4 进入工作空间
  • 四、检查开发环境
    • 4.1 新建终端
    • 4.2 检查npm版本
  • 五、下载Etherpad源码
    • 5.1 下载Etherpad源码
    • 5.2 查看源码文件
  • 六、部署Etherpad
    • 6.1 进入源码目录
    • 6.2 启动Etherpad服务
    • 6.3 浏览器中测试打开
  • 七、在云IDE中测试服务
    • 7.1 打开并编辑preview.yml文件
    • 7.2 修改启动命令
    • 7.3 在云IDE中测试服务

一、CSDN云IDE平台介绍

1.1 CSDN云IDE平台简介

  • 官网网址:CSDN开发云IDE平台

  • CSDN云IDE平台是一个在线的集成开发环境,可用于编写、测试和部署代码。CSDN云IDE平台支持多种语言和框架,包括Java、Python、Node.js等,提供了丰富的编辑器、调试器和版本管理工具,帮助开发者快速创建和部署应用程序。CSDN云IDE平台在云端运行,开发者只需要一个浏览器,就可以任意地访问和使用该平台。CSDN云IDE平台还支持团队协作,可以轻松地共享代码和项目,提高团队的效率。

1.2 CSDN云IDE平台特点

CSDN云IDE平台有以下特点:

  • 一站式服务:平台提供了代码编写、调试、构建、部署等一系列工具和服务,用户只需要在一个平台上完成整个开发过程。

  • 多语言支持:平台支持多种编程语言,如Java、Python、C++等,用户可以根据自己的需求选择相应的语言进行开发。

  • 云端运行:平台基于云计算技术,用户可以在任何时间、任何地点,通过互联网接入平台进行开发和管理,无需担心硬件设备和环境的问题。

  • 团队协作:平台提供了多种协作工具和服务,支持多人同时协作开发项目,提高了团队协作效率。

  • 代码托管:平台与Git等常见代码托管平台集成,用户可以将代码托管在平台上,方便代码管理和版本控制。

  • 社区交流:平台内有大量开发者、技术专家和爱好者,用户可以通过平台参与讨论、分享经验和互动交流,提高技术水平和扩展人脉。

二、本次实践介绍

2.1 本次实践介绍

1.本次实践部署环境为CSDN开发云——云IDE平台;
2.本次实践主要用于学习及测试使用;
3.在CSDN云IDE平台环境下部署Etherpad文档编辑器。

2.2 Etherpad简介

  • Etherpad 允许您实时协作编辑文档,就像在浏览器中运行的实时多人编辑器一样。与您的朋友、同学或同事一起撰写文章、新闻稿、待办事项等,所有这些都在同一时间处理同一个文档。

三、登录CSDN云IDE平台

3.1 登录CSDN开发云

  • 登录CSDN后,点击我的云服务,进入CSDN开发云。

CSDN开发云

在这里插入图片描述

3.2 登录云IDE

  • 点击云IDE,进入云IDE管理页面。

在这里插入图片描述

在这里插入图片描述

3.3 新建工作空间

  • 点击新建工作空间

在这里插入图片描述

  • 填写工作空间名称,预置环境默认即可,代码来源,这里选择空,确认即可。
    在这里插入图片描述

3.4 进入工作空间

  • 点击启动进入IDE

在这里插入图片描述
在这里插入图片描述

四、检查开发环境

4.1 新建终端

  • 点击终端——新建终端

在这里插入图片描述

  • 新建bash终端

在这里插入图片描述
在这里插入图片描述

4.2 检查npm版本

  • 检查npm版本
npm -v

在这里插入图片描述

  • 检查node版本
node -v

在这里插入图片描述

五、下载Etherpad源码

5.1 下载Etherpad源码

  • 下载Etherpad源码
git clone https://gitcode.net/mirrors/ether/etherpad-lite.git

在这里插入图片描述

5.2 查看源码文件

  • 文件——打开文件夹——输入文件夹路径(默认/ide/workspace/workspace/etherpad-lite/),确认即可。

在这里插入图片描述

在这里插入图片描述

六、部署Etherpad

6.1 进入源码目录

root@ide-626421621cf1b603ec37b773-64e774edf624725f6e4a73a6:/ide/workspace/workspace/etherpad-lite# ls
CHANGELOG.md  CONTRIBUTING.md  Dockerfile  LICENSE  README.md  SECURITY.md  bin  doc  make_docs.js  node_modules  settings.json.docker  settings.json.template  src  start.bat  tests  var
root@ide-626421621cf1b603ec37b773-64e774edf624725f6e4a73a6:/ide/workspace/workspace/etherpad-lite# pwd
/ide/workspace/workspace/etherpad-lite

在这里插入图片描述

6.2 启动Etherpad服务

  • 启动Etherpad服务
src/bin/run.sh --root

在这里插入图片描述

6.3 浏览器中测试打开

在右下角的弹窗中,选择浏览器打开,自动跳转到本地浏览器打开。

在这里插入图片描述
在这里插入图片描述

七、在云IDE中测试服务

7.1 打开并编辑preview.yml文件

  • 打开——打开并编辑preview.yml文件

在这里插入图片描述

7.2 修改启动命令

在preview.yml文件中,修改应用启动命令以及启动端口

src/bin/run.sh --root
# preview.yml
autoOpen: true # 打开工作空间时是否自动开启所有应用的预览
apps:- port: 9001 # 应用的端口run: src/bin/run.sh --root # 应用的启动命令command: # 使用此命令启动服务,且不执行runpreview: # 预览文件(文件路径),且不执行run和command命令root: ./ # 应用的启动目录name: my-first-app # 应用名称description: 我的第一个 App。 # 应用描述autoOpen: true # 打开工作空间时是否自动开启预览(优先级高于根级 autoOpen)

在这里插入图片描述

7.3 在云IDE中测试服务

在侧边栏打开preview.yml文件,点击刷新即可。

  • 在这里插入图片描述

在这里插入图片描述

相关文章:

【Linux应用部署篇】在CSDN云IDE平台部署Etherpad文档编辑器

【Linux应用部署篇】在CSDN云IDE平台部署Etherpad文档编辑器 一、CSDN云IDE平台介绍1.1 CSDN云IDE平台简介1.2 CSDN云IDE平台特点 二、本次实践介绍2.1 本次实践介绍2.2 Etherpad简介 三、登录CSDN云IDE平台3.1 登录CSDN开发云3.2 登录云IDE3.3 新建工作空间3.4 进入工作空间 四…...

基于java swing和mysql实现的汽车租赁管理系统(源码+数据库+文档+运行指导视频)

一、项目简介 本项目是一套基于java swing和mysql实现的汽车租赁管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、项目文档、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经…...

Rigs-of-rods安装

Rigs-of-rods安装 安装git 首先下载git,下载地址:https://git-scm.com/download/win,安装git 安装cmake 下载cmake,下载地址:https://cmake.org/download/,安装cmake 安装vs2022下载ror的依赖库 git clone https://github.co…...

html学习第2篇---标签(1)

html学习第2篇---标签 1、标题标签h1---h62、段落标签p3、换行标签br4、文本格式化标签5、div标签和span标签6、图像标签img6.1、图像属性6.2、相对路径、绝对路径 7、超链接标签a7.1、属性7.2、分类 8、注释标签和特殊字符8.1、注释8.2、特殊字符 1、标题标签h1—h6 为了使网…...

爬虫逆向实战(二十四)--某鸟记录中心

一、数据接口分析 主页地址:某鸟记录中心 1、抓包 通过抓包可以发现数据接口是front/record/search/page 2、判断是否有加密参数 请求参数是否加密? 通过查看“载荷”模块可以发现,请求参数是加密的 请求头是否加密? 通过查…...

【操作系统】中断和异常

中断的作用 CPU上会执行两种程序:内核程序和应用程序 在适合的情况下,操作系统内核会把CPU的使用权主动让给应用程序,“中断”是让操作系统内核夺回CPU使用权的唯一途径(用户态转内核态)。 中断技术保证了并发。 中…...

锁策略、原子编程CAS 和 synchronized 优化过程

前言 锁冲突:两个线程获取一把锁,一个线程阻塞等待,一个线程加锁成功。 目录 前言 一、锁策略 (一)乐观锁和悲观锁 (二)重量级锁和轻量级锁 (三)自旋锁和挂起等待…...

【WINAPI】文件读写操作问题

问题描述 在利用WINAPI中的WriteFile和ReadFile函数进行文件读写操作时,出现无法正常读写文件报错。 分析问题 查阅WINAPI源码,查看参数列表各个参数的数据类型。 发现其中第二个参数,也就是需要写进文件的真实数据,其数据类型…...

【LeetCode-中等题】148. 排序链表

文章目录 题目方法一:集合排序(核心是内部的排序)方法二: 优先队列(核心也是内部的排序)方法三:归并排序(带递归) 从上往下方法四:归并排序(省去递…...

Ceph EC pg backfill run

pg的backfill请求也是发送到osd的work queue中与业务IO一起竞争。 PGRecovery::run backfill 57 void PGRecovery::run( 58 OSD *osd, 59 OSDShard *sdata, 60 PGRef& pg, 61 ThreadPool::TPHandle &handle) 62 { 63 osd->do_recovery(pg.get(), epoch_queued…...

腾讯云服务器地域怎么选?广州上海北京?

腾讯云服务器地域有什么区别?怎么选择比较好?地域选择就近原则,距离地域越近网络延迟越低,速度越快。关于地域的选择还有很多因素,地域节点选择还要考虑到网络延迟速度方面、内网连接、是否需要备案、不同地域价格因素…...

Apple Configurator iphone ipad 设备管控 描述文件使用方法

一、准备 App Store 下载安装 Apple Configurator 二、Apple Configurator 注册组织, -----------这个组织可以是个人,或者其它组织导出-------再导入进来: 三、描述文件配置:“” 根据管控需求进行配置 “” 四、使用 Ap…...

Linux 管道(pipe)用法

在 Linux 中,管道(pipe)是一种特殊的机制,用于连接一个进程的标准输出到另一个进程的标准输入。通过使用管道,可以将一个命令的输出直接传递给另一个命令进行处理,实现了进程之间的通信和数据传输。 管道的…...

元素隐式具有 “any“ 类型,因为类型为 “string“ 的表达式不能用于索引类型

今天在写ts文件的过程中,我遍历了一个对象,然后取值的时候发现爆红,如下图👇 经过我一通排查(原因我对ts也不是很熟练),了解到大致意思是说key的值类型不是string类型,在javascript中是默认给你…...

34、springboot切换内嵌Web服务器(Tomcat服务器)与 生成SSL证书来把项目访路径从 HTTP 配置成 HTTPS

知识点1:springboot切换内嵌Web服务器(Tomcat服务器) 知识点2:生成SSL证书来把项目访路径从 HTTP 配置成 HTTPS ★ Spring Boot默认的Web服务器(Tomcat) ▲ 基于Servlet的应用(使用Spring MV…...

3种CSS实现背景图片全屏铺满自适应的方式

01 margin:0px; background: url(images/bg.png) no-repeat; background-size:100% 100%; background-attachment:fixed; url(images/beijing.png)——图片路径的位置; no-repeat—— 图片不重复; center 0px——center是距离页面左边的定位&#xf…...

M1 Pro 利用docker 搭建pytho2的开发环境,以vscode连接开发为例

使用 M1 Pro (不支持python2的安装)开发,需要使用 Python 2.7 的环境,在使用 pyenv 安装 Python 2 时遇到了各种奇怪的问题。最终,我决定使用 Docker 搭建开发环境,并使用 VS Code 连接到本地容器。以下是详…...

MySQL概述,架构原理

一.MySQL简介 MySQL是一个关系型数据库管理系统,由瑞典的MySQL AB公司开发,后被oracle公司收购,MySQL是当下最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(Relational Database Man…...

Three.js实现模型,模型材质可拖拽效果 DragControls

Three.js提供了一个拖拽的API DragControls 用于实现模型材质拖拽效果 DragControls:是一个用于在Three.js中实现拖拽控制的辅助类。它简化了在Three.js中实现拖拽物体的过程。 DragControls的构造函数接受三个参数: objects:一个包含需要…...

机器学习笔记之优化算法(二十)牛顿法与正则化

机器学习笔记之优化算法——再回首:牛顿法与正则化 引言回顾:经典牛顿法及其弊端牛顿法:算法步骤迭代过程中可能出现的问题正则化 Hessian Matrix \text{Hessian Matrix} Hessian Matrix与相应问题 引言 本节我们介绍经典牛顿法在训练神经网络过程中的迭…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

条件运算符

C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)&#xff…...