【服务器】iPad远程服务器进行开发

news2024/12/23 13:34:49

文章目录

  • 前言
  • 1. 本地环境配置
  • 2. 内网穿透
    • 2.1 安装cpolar内网穿透(支持一键自动安装脚本)
    • 2.2 创建HTTP隧道
  • 3. 测试远程访问
  • 4. 配置固定二级子域名
    • 4.1 保留二级子域名
    • 4.2 配置二级子域名
  • 5. 测试使用固定二级子域名远程访问
  • 6. iPad通过软件远程vscode
    • 6.1 创建TCP隧道
  • 7. ipad远程vscode
  • 8. 配置固定TCP端口地址
    • 8.1 保留固定TCP地址
    • 8.2 配置固定TCP端口地址
  • 9. 使用固定TCP地址远程vscode

前言

随着平板电脑的普及,大多数人的生活习惯和生活场景都离不开平板电脑的使用,刷剧,看短视频,玩主流游戏等,但是这些只是娱乐性质的场景,那想实现把平板结合到工作或者生产之中场景中呢,如编辑文档,制作工作表格,编写代码?

所以在入手ipad后,为了防止“买前生产力,买后爱奇艺”。我们可以在linux上搭建code server,然后用ipad通过浏览器或者或app,来远程访问code server。使用服务器的资源来跑代码,而ipad前端上只需要负责撸代码和运行就可以啦,让ipad完美变身移动开发工具!!

并且,为了实现在外随时随地远程移动开发,我们搭配使用了cpolar内网穿透,突破局域网的限制,实现在公网环境下也可以用ipad写代码开发!!

1. 本地环境配置

准备一台虚拟机,Ubuntu或者centos都可以,这里以VMware Ubuntu系统为例

2023011601

下载code server服务

在浏览器访问:https://github.com/coder/code-server,复制下载命令

2023011602

打开ubuntu命令行执行

curl -fsSL https://code-server.dev/install.sh | sh

2023011603

出现需要输入ubuntu的登录账户密码,输入密码即可,然后等待安装完成

2023011604

以下信息表示安装成功

2023011605

接着输入以下命令设置code-server的登录密码

export PASSWORD=”000000”

20230116112814

查看IP地址,作局域网访问使用

ifconfig

2023011607

设置好密码后启动code-server服务,输入以下命令:

code-server --host= “0.0.0.0”

出现地址和端口号信息表示成功

2023011608

接着打开浏览器通过局域网访问http://192.168.30.128:8080/,出现welcone code-server表示成功,输入我们设置的密码,登录即可。

2023011609

2. 内网穿透

接着我们使用cpolar穿透本地code-server服务,使得远程可以进行访问,随时随地写代码。cpolar支持http/https/tcp协议,不限制流量,操作简单,无需公网IP,也无需路由器。

cpolar官网:https://www.cpolar.com/

2.1 安装cpolar内网穿透(支持一键自动安装脚本)

  • cpolar 安装(国内使用)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 或 cpolar短链接安装方式:(国外使用)
curl -sL https://git.io/cpolar | sudo bash
  • 查看版本号
cpolar version
  • token认证

登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里

cpolar authtoken xxxxxxx

20230116114805

  • 简单穿透测试
cpolar http 8080

按ctrl+c退出

  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar
  • 查看服务状态
sudo systemctl status cpolar

20230116114923

正常显示为active则表示服务为正常在线启动状态

2.2 创建HTTP隧道

在ubuntu系统本地安装cpolar内网穿透之后,在ubuntu浏览器上访问本地9200端口,打开cpolar web ui界面:http://127.0.0.1:9200。

点击左侧仪表盘的隧道管理——创建隧道,由于code-server中配置的是8080端口,因此我们要来创建一条http隧道,指向8080端口:

  • 隧道名称:可自定义,注意不要重复
  • 协议:http协议
  • 本地地址:8080
  • 域名类型:选择随机域名
  • 地区:选择China VIP

点击创建

2023011610

创建好后,点击左侧的状态——在线隧道列表,查看公网地址,将其复制下来

2023011611

3. 测试远程访问

打开ipad浏览器,输入刚刚复制的公网地址访问即可,访问后输入前面设置的密码,出现vscode界面表示成功

2023011612

4. 配置固定二级子域名

4.1 保留二级子域名

由于以上使用cpolar所创建的隧道使用的是随机临时公网地址,该地址在24小时内会发生变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

需要注意,配置固定二级子域名需要将cpolar升级到基础套餐或以上。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

  • 地区:选择China vip
  • 二级域名:可自定义填写
  • 描述:即备注,可自定义填写

2023011613·

4.2 配置二级子域名

访问本地9200端口,打开cpolar web ui 界面,点击左侧的隧道管理——隧道列表,找到vscode隧道,点击右侧的编辑

2023011614

修改下隧道信息:

  • 域名类型改为选择二级子域名
  • subdomain:填写刚刚保留成功的二级子域名

点击更新

2023011615

隧道更新成功之后,点击左侧的状态——在线隧道列表,查看公网地址,此时可以看到地址变成了二级域名,将其复制下来

2023011616

5. 测试使用固定二级子域名远程访问

接着我们再次打开ipad浏览器,访问刚刚配置成功的固定二级子域名地址,出现vscode界面表示成功,就可以愉快的写代码啦.

2023011617

6. iPad通过软件远程vscode

接下来我们通过servediter for code-server软件来实现ipad远程访问vscode

6.1 创建TCP隧道

首先需要创建一条TCP隧道,指向我们服务器的22端口,servediter for code-server这个软件需要连接服务器,在ubuntu上打开浏览器访问本地9200端口,登录cpolar web ui界面,点击左侧的隧道管理——创建隧道

  • 隧道名称:可自定义,注意不要重复
  • 协议:tcp协议
  • 本地地址:22
  • 域名类型:选择随机临时TCP端口
  • 地区:选择China VIP

点击创建

2023011618

隧道创建成功之后,点击左侧的状态——在线隧道列表,将所生成的公网地址复制下来。

2023011622

7. ipad远程vscode

在ipad上,点击打开appstore,下载软件servediter for code-server

2023011619

下载成功后点击打开,由于该软件是付费的,可以自由选择购买,这里选择免费试用,选择最后一个free

2023011620

输入相关信息

参数介绍:

  • code-server URL:填写前面配置成功的http公网地址【ipad浏览器访问的那个地址】
  • Instance password:code-server配置的密码
  • Host:这里填写我们前面创建成功的22隧道的公网地址
  • Username: 这个填写ubuntu系统的用户名
  • Port: 这里默认即可无需修改
  • Authentication: 这个填写ubuntu系统用户名对应的密码

2023011621

输入完信息后点击右上角save后就会自动连接,出现vscode界面表示连接成功啦

2023011623

8. 配置固定TCP端口地址

由于前面我们创建的ssh 22端口的隧道选择的是随机临时地址,该地址会在24小时内变化,为了使我们ipad里面使用vscode连接更加通畅,我们需要固定ssh 的公网地址。

注意需要将cpolar套餐升级至专业套餐或以上。

8.1 保留固定TCP地址

登录cpolar官网后台,点击左侧的预留,找到保留的TCP地址:

  • 地区:选择China VIP
  • 描述:即备注,可自定义填写

点击保留

2023011624

固定TCP地址保留成功,系统生成相应的公网地址+固定端口号,将其复制下来

2023011625

8.2 配置固定TCP端口地址

浏览器访问http://127.0.0.1:9200/登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到codeserver隧道,点击右侧的编辑

2023011626

修改隧道信息,配置固定TCP端口地址:

  • 端口类型:改为选择固定TCP端口
  • 预留的TCP地址:填写刚刚保留成功的固定TCP端口地址

点击更新

2023011627

提示更新隧道成功,点击左侧仪表盘的状态——在线隧道列表,可以看到刚刚修改的隧道的公网地址已经更新为固定TCP端口地址,将其复制下来。

2023011628

9. 使用固定TCP地址远程vscode

在ipad上,打开servediter for code-server软件,修改host的参数,将其修改为我们刚刚配置成功的固定TCP端口地址。

点击左上角i标志

2023011629

选择self Host Server

2023011630

把Host值改为我们刚刚官网保留的tcp地址

2023011631

更改完后点击右上角save,点击完后会自动连接,出现vscde界面表示成功了,至此,教程就结束了,使用ipad开启愉快的编程吧!该公网地址不会再随机变化了。

2023011632

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/614426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人工智能 AI | ChatGPT 时代,程序员的生存之道

ChatGPT 近期炙手可热,仿佛没有什么问题是它不能解决的。出于对 ChatGPT 的好奇,我们决定探索下它对于前端开发人员来讲,是作为辅助工具多一些,还是主力工具更多一些? 2D 能力测试 我们就挑选一个著名的递归回溯问题—…

代码随想录算法训练营第三十九天|62.不同路径|63. 不同路径 II

LeetCode62.不同路径 动态规划五部曲: 1,确定dp数组(dp table)以及下标的含义:dp[i][j] :表示从(0 ,0)出发,到(i, j) 有dp[i][j]条不同的路径。 2&#xff0c…

cpu飚高的排查思路

cpu的衡量指标 使用率util:代表的是单位时间内CPU繁忙情况的统计。操作系统对cpu的管理就是利用周期的tick时钟中断,将cpu的使用划分时间片。每个时间片内去执行不同进程/线程里的代码。所以cpu的使用率统计其实也是以tick为单位的:统计周期…

开源代码分享(1)—考虑经济性的储能运行优化

参考文献: [1]Practical operation strategies for pumped hydroelectric energy storage (PHES) utilising electricity price arbitrage - ScienceDirect [2]Towards an objective method to compare energy storage technologies: development and validation of…

Python——Flask快速开发一个物资管理平台(源码+适合大作业)

目录 一、前言 二、项目展示 三、代码包 四、项目简介 五、运行步骤 一、前言 Flask 框架结合原生的 HTML 和 Bootstrap 可以快速开发 Web 应用程序。 Flask 框架是 Python 中一个轻量级的 Web 应用框架,它非常适合构建小型项目和原型化开发。Flask 框架具有可扩展的…

K8S利用nginx快速部署一个网站之基本概念(十)

在Kubernetes部署应用程序流程 使用Deployment控制器部署镜像: kubectl create deployment web --imagenginx --replicas3 kubectl get deploy,pods 使用Service将Pod暴露出去: kubectl expose deployment web --port80 --target-port80 --typeNodePor…

Pyside6-第六篇-各按钮的信号与槽

今天是Pyside6的第六篇内容。一起来看看各按钮的信号与槽。 from PySide6.QtCore import Qt from PySide6.QtGui import QAction from PySide6.QtWidgets import QApplication, QWidget, QRadioButton, \QPushButton, QCheckBox, QToolButton, QMenuclass Example(QWidget):def…

使用BERT进行文本分类

本范例我们微调transformers中的BERT来处理文本情感分类任务。 我们的数据集是美团外卖的用户评论数据集。 模型目标是把评论分成好评(标签为1)和差评(标签为0)。 #安装库 #!pip install datasets #!pip install transformers[torch] #!pip install torchkeras 公众号算法美食…

你知道ping命令是如何工作的吗?

你知道ping命令是如何工作的吗? 我们用来测试一台机器与另一台机器的网络连通性一般会使用ping命令,那么你知道ping命令是如何工作的吗?ping命令是基于ICMP协议工作的。 一、介绍ICMP协议 因特网控制报文协议ICMP(Internet Con…

安卓大作业 咖啡展示App

系列文章 安卓大作业 咖啡展示App 文章目录 系列文章1.背景2.所有截图3.总结4. 源代码获取 1.背景 为了便于用户对于咖啡信息的浏览,我设计了一个咖啡展示的app。可以在这个App中查看到一些咖啡的信息,点…

爬虫语言最好用的是那种?

目前最好用的爬虫语言有多种选择,具体的选择取决于你的需求和个人偏好。Python是较为流行的爬虫语言之一,其生态系统丰富,拥有大量优秀的爬虫框架和工具。另外,JavaScript、Go、Ruby等编程语言也可以用于爬虫开发。总之&#xff0…

设置ubuntu下SVN服务开机自启

目录 0.背景环境 1.开机自启步骤 0.背景环境 1)ubuntu下,已搭建好svn版本库,具体搭建方法参考文末的其他博客链接 2)在搭svn服务器的过程中,发现ubuntu重启后,svn服务就关闭了 svn正常开启时见下图 所以…

为什么大多数企业数字化转型失败率高达80%?

数字化转型失败率为什么这么高? 多年的转型研究表明,企业数字化转型的成功率还不到 30%。 麦肯锡2023年报告显示,只有 16% 的受访者表示他们组织的数字化转型成功地提高了绩效,并使他们能够长期维持变革。 即使是精通数字技术的行…

十五周算法训练营——回溯算法

今天是十五周算法训练营的第十周,主要讲回溯算法专题。(欢迎加入十五周算法训练营,与小伙伴一起卷算法) 解决一个回溯问题,实际上就是一个决策树的遍历过程,只需要思考三个问题: 路径&#xff1…

市值暴涨8000亿,马斯克告诉了美国同行,为啥需要中国市场?

马斯克访华仅仅40多个小时,却带动了股价连涨5天,涨幅最高达到20%,市值飙涨8000亿元人民币,马斯克也因此再度问鼎全球首富之位,凸显出中国之行给他带来的巨大好处。 一、中国市场带动了特斯拉的辉煌 2018年马斯克为产能…

依据换行符分割字符串numpy.char.splitlines()含换行符与回车符的区别

【小白从小学Python、C、Java】 【等级考试500强双证书考研】 【Python-数据分析】 依据换行符分割字符串 numpy.char.splitlines() 含换行符与回车符的区别 [太阳]选择题 以下说法错误的是: import numpy as np a "I\nLove\rChina\r\nforever" print(&q…

APACHE-ATLAS-2.1.0 - 安装HIVE HOOK(六)

写在前面 本博文以获取HIVE元数据为例,进行流程和源码的分析。 请提前安装好HADOOP和HIVE的环境,用于测试。 ATLAS官网:https://atlas.apache.org/#/HookHive ATLAS支持的元数据源 什么是Hive Hook(钩子) HOOK是一种…

可视化的三种图结构方案 (canvas、fabric、G6)

原生 canvas、fabric 以及 G6,三种方案各有优劣势 原生 canvasfabricG6优点灵活、自由、可定制化非常强封装了 canvas 的 api,使用简单灵活提供了复杂树、图等 api,只需要按照文档配置即可缺点开发复杂、耗时对于构建大型树、图等复杂、耗时…

chatgpt赋能python:选择函数:Python实现之道

选择函数:Python 实现之道 什么是选择函数? 在 SEO 中,选择函数是指搜索引擎在对网站内容进行排名时所采用的一种规则。选择函数由搜索引擎定义,其目的在于建立一个算法来确定哪些网站会出现在搜索结果的前几页中。对于网站管理…

百度视频质量评测的实践之路

视频编解码技术日新月异,新的编解码技术赋予视频业务新的应用场景和新的用户视听体验。同时,视频作为带宽消耗大户,如何在视听体验和视频带宽之间取得最优的平衡是一个永恒的话题。视频质量评测主要用来回答:体验是否改善、带宽是…