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

轻量化开发实践!Code Server在香橙派Zero3上的完美运行与配置方案

文章目录

    • 前言
    • 1. 添加镜像源
    • 2. 部署Code server
    • 3. 安装内网穿透工具
    • 4. 配置公网地址
    • 5. 配置固定公网地址

前言

想象一下这样一个场景:你坐在咖啡馆里,手边只有一台平板电脑或者手机,却需要紧急修改一段代码或处理一个重要的开发任务。这时候你会怎么办?如果能通过浏览器随时随地访问你的完整开发环境该有多好!好消息是,现在这一切都可以实现!

今天我们要介绍的主角就是Code Server——一款神奇的开源工具,它能够让你在任何设备上使用VS Code的强大功能,而无需安装笨重的应用程序或复杂的软件。更重要的是,你可以在资源有限的小型主机如香橙派Orange Pi Zero3上轻松部署和运行。

在此之前,我们已经分享了如何将CasaOS轻NAS系统安装到香橙派Zero3上的方法,这款小巧的设备不仅适合搭建家庭服务器,还能承担起日常开发任务。接下来,我们将带你一步步探索在香橙派Zero3上部署Code Server的过程,让你无论身处何地都能高效工作。

image-20241017120047298

1. 添加镜像源

我这里演示的环境是已经刷好CasaOS的香橙派Zero3小主机。

不知道如何操作的可以看下这篇教程:香橙派Orange Pi zero3如何刷CasaOS轻NAS系统

首先,我们需要在浏览器中输入香橙派ip地址,进入CasaOS管理界面。

然后进入终端,使用root账号密码登录。

fc4cd94f4cc0ce7c2b2cf581ea88f37

进入终端后执行下方命令:

nano /etc/docker/daemon.json

image-20241012154915187

在编辑器中输入新的镜像源地址:

{
"registry-mirrors": [
 "https://docker.m.daocloud.io",
 "https://docker.1panel.live"
]
}

image-20241012155042798

然后按Crtl+X键保存这个镜像源,退出编辑器回到终端后执行下方命令重新启动docker服务:

systemctl restart docker

image-20241012155119804

2. 部署Code server

上边的操作完成之后,我们回到casaos主界面点击系统自带的App Store应用中心。

可能刚刷机后的同学会说这里边的应用太少了,其实官方是给出了手动添加更多应用的方法的,只要点击目前APP下拉框中的更多应用。

image-20240527181150797

1716533860914

然后点击问号,会自动在浏览器中打开一个添加更多应用的页面:

image-20240524145917203

复制这个页面中的这些地址,然后回到CasaOS应用中心界面。

1716534084277

将地址粘贴到刚才带有问号的输入框中,然后点击添加,系统就会自动更新更多应用到应用中心界面,可以从几十个增加到几百个。

image-20240524150508486

可以看到,现在就能在应用商店中看到code server了,点击安装即可自动进行部署:

image-20241017113502784

部署完成后,点击打开,即可在浏览器中访问code server的web操作界面:

image-20241017113554668

image-20241017113638620

3. 安装内网穿透工具

此时,我们已经成功在本地的CasaOS香橙派主机中部署了code server,但仅能在本地局域网中使用,如果想在出差时也能远程使用家中code server来写写代码应该怎么办呢?

很简单,只要在香橙派中安装一个cpolar内网穿透工具就能轻松实现远程访问内网主机中部署的服务了,接下来介绍一下如何安装cpolar内网穿透。

首先,点击左上角进入终端:

image-20240528113537036

然后输入root账号密码登录:

image-20240528113647981

然后在终端中执行下方命令,安装cpolar内网穿透工具:

curl -fsSL https://get.cpolar.sh | sudo sh

image-20241012164501257

如下图所示即为cpolar内网穿透服务正在正常运行。

image-20241017114210956

4. 配置公网地址

然后我们使用CasaOS香橙派的IP地址加上9200,打开一个新的浏览器来登录cpolar管理界面 :

image-20241017114352580

如果没有账号可以点击免费注册访问cpolar官网注册账号:https://www.cpolar.com

输入账号密码登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

隧道名称:可自定义,注意不要与已有的隧道名称重复,本例使用了:mycodes

协议:http

本地地址:8443

域名类型:随机域名

地区:选择China Top

点击创建

image-20241017114556237

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和 https,任选其一到浏览器访问即可。

image-20241017114705282

现在我们就可以使用手机、平板等设备在浏览器地址栏输入cpolar生成的公网地址,能看到成功远程访问本地casaos香橙派中部署的code server的Web管理界面啦!

image-20241017114900115

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,不好记,而且这个地址在24小时内会发生随机变化,更适合于临时测试使用。

如果有长期远程访问本地casaos香橙派中的code server随时撸代码,或者远程访问其他本地服务的需求,又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择配置固定的公网地址来远程访问。

5. 配置固定公网地址

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择China VIP,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称,这里我填写的是 mycodes1 ,大家也可以自定义喜欢的名称。

image-20241017115143930

保留成功后复制保留成功的二级子域名的名称: mycodes1 ,返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道 mycodes,点击右侧的编辑:

image-20241017115302974

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名:mycodes1
  • 地区:选择China VIP

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20241017115349591

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,由随机地址名称变成了两个固定的二级子域名(固定公网地址):

image-20241017115523213

最后,我们使用任意一个固定公网地址在浏览器访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问本地局域网内的casaos香橙派主机端中code server来在线写代码了!

image-20241017115636574

现在,你可以随时随地用任何设备访问你的开发环境了!无论是咖啡馆、办公室还是家中,只要有一台联网的设备,就能轻松完成远程代码编辑任务。希望这个小技巧能为你的工作带来更多的便利和灵活性。


http://www.kler.cn/a/536279.html

相关文章:

  • innoDB 如何解决幻读
  • MVC 文件夹:架构之美与实际应用
  • 115,【7】 攻防世界 web fileinclude
  • vscode 如何通过Continue引入AI 助手deepseek
  • Golang 并发机制-6:掌握优雅的错误处理艺术
  • 【码道初阶】Leetcode540. 有序数组中的单一元素,异或运算在二分查找的优雅实现(附异或运算详解)
  • 市场柱线-机器人-《广东省建设现代化产业体系2025年行动计划》-提到大力发展人形机器人等具身智能机器人
  • bigemap pro如何裁剪栅格数据?
  • 路由器如何进行数据包转发?
  • 【LeetCode】152、乘积最大子数组
  • 音频进阶学习十一——离散傅里叶级数DFS
  • PostGIS:使用shp2pgsql、pgsql2shp、OGR2OGR函数进行数据导入、导出
  • 基础篇05-图像直方图操作
  • OpenHarmony上运行Ollama玩转本地大模型
  • React 与 Next.js
  • D. CGCDSSQ
  • 十三、Dockerfile 常用镜像创建
  • RabbitMQ业务场景面试题
  • yum 安装mysql
  • VDN 微服务架构搭建篇(三)基于 Nacos 的 Spring Cloud Gateway 动态路由管理
  • 如何使用iframe来渲染ThingsBoard仪表盘
  • LabVIEW与PLC交互
  • 【Spring】什么是Spring?
  • SAP物料账未分配差异-采购发票数量大于库存数量
  • 多无人机--强化学习
  • 20.责任链模式(Chain of Responsibility Pattern)