百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

如何在windows下使用腾讯云lighthouse轻量应用服务器?

wptr33 2025-02-06 16:37 62 浏览

目前网上关于腾讯云Lighthouse的教程很多,不过大部分基于Linux/Mac环境下操作的,如何在Windows下进行操作呢?

考虑到Windows笔记本的环境和远程Linux主机下不完全一致,同时还要解决Python代码的编辑/同步和调试运行等问题,本文将详细地从零开始,介绍如何从Windows10操作系统下远程连接Lighthouse等云服务器,并通过VSCode/SFTP等工具远程编辑执行Python程序。

一、开始准备服务器

腾讯云轻量应用服务器(Lighthouse)是当下最流行最方便的创建云主机方式,对于跑些小项目用起来更方便。

购买机器

这里我们创建一台北京地域的镜像为Ubuntu 20.04LTS版本的实例,这是Ubuntu最新的LTS长期维护版本,可以体验更多新特性,后续我们也会在这个系统上做些简单实验。套餐选择上,我们这次以新出的存储型套餐举例,即便时最轻(pian)量(yi)的,也带了200GB的SSD,非常划算。购买流程很简单,需要输入实例名称并选择下时长即可,购买体验非常流畅。


我们创建完成后,可以在实例列表页面看到实例状态,当实例状态为运行中时,点击更多->管理即可进入管理页面了。我们将在管理页面为我们的Lighthouse主机重置密码,以方便后续的SSH登录。

重置密码

Lighthouse实例默认仅能从腾讯云控制台免密登录,其本质是使用了默认密钥。不过,为了咱们后续通过SSH命令进行代理访问,最方便的方法是通过密码登录。

我们需要为我们的实例重置密码,可以在控制台的实例详情页面完成此类操作。我们更新系统默认用户名ubuntu用户的密码。

至此,控制台上全部操作完成,我们可以准备登录机器了。

连接登录远端的服务器,一个好用的远程主机终端管理工具是必须的。

虽然Windows10自带/自有的PowerShell、Windows Terminal等软件也能SSH到我们远程的Linux服务器,但是它们的使用体验远不完美。常见的终端管理(SSH客户端)工具而很多如Putty、Xshell等,这里我们推荐一款工具:Termius,它是一款强大的SSH客户端,可以在Windows、Linux、macOS甚至移动设备Android/iOS上使用,界面美观使用方便。另外,Termius除了作为SSH客户端外,还支持主机分组、端口转发、文件传输等多种特性。

在微软的应用商店里就可以搜索到并安装:

termius运行后,点击+ NEW HOST按钮,配置添加服务器的信息,如IP、用户名以及、密码/密钥等。

配置主机IP

配置主机的SSH登录信息

用termius第一次的登录云服务器,通任何SSH客户端一样,需要添加下fingerprint,回车确认即可。

下图示例,用termius首次登录Lighthouse主机后执行命令:

云服务器的登录验证完成,我们开始折腾本地的编辑器吧~

二、安装编辑器

Visual Studio Code,以下简称VSCode,是微软2015年开源的一款编辑器,支持Windows、Linux和macOS等多个平台,它遵循MIT协议。vscode对代码调试、语法高亮、智能代码补全、代码重构以及,另外由于其还支持插件扩展且社区活跃,VSCode近些年非常受开发人员的青睐,可以说是目前最主流的跨语言通用代码编辑器。

Windows10上安装VSCode也非常容易,官网直接下载即可。这里注意有两种安装选择,UserInstaller和System Installer,它们分别安装在用户主目录(类似C:\Users\Brooke\AppData)和系统目录下(类似C:\Program Files(x86)),单用户使用起来几乎没有区别,根据偏好选择即可。下图是安装界面,添加到PATH中哦我们可以通过code命令打开VSCode。

2020年10月刚刚发布了1.51版本,这次又新加了不少功能如更清晰的固定选项卡、可调整的智能补全窗口、更优化的终端及代码版本控制等等。

其实,VSCode下也有自带的terminal,按Ctrl+`即可打开,个人感觉它在Linux/MacOS下,相比Windows使用上更方便一些。在Windows10下,可以试试结合wsl或gitbash一起使用,使用起来,效果也还可以。但总体体验还是不如上一节的termius。

我们试着可以打开目录Open Folder,这里我们选择F:\Code\hello目录,并创建编辑第一个文件hello.py 。

可以看出,VSCode编辑器的风格还是很简约美观的。默认界面中除了主编辑面板,只有菜单栏、快捷按钮边栏、文件浏览器,以及底部状态栏和右侧的缩略展示。

三、插件远端同步代码

上一节中,我们通过VSCode打开目录并创建了代码文件,我们接下来需要将代码同步至远端服务器,并运行。我们这里使用SFTP插件。

安装

打开扩展插件(Extendions)搜索面板,快捷键Ctrl+Shift+X,搜索SFTP,如图安装。

安装过程很快,而且不需要重启编辑器,即时生效。

配置

打开vscode命令面板(Command Palette),快捷键Ctrl+Shift+P ,搜索sftp,可以下拉提示菜单中看到SFTP: Config,点击即可进入sftp的设置编辑界面,其实就是编辑项目目录下的.vscode/sftp.json文件,配置项除了host、port、username、password等SSH连接参数外如图:

注意:SFTP必须运行在项目目录中,所以需要先通过open folder打开对应的项目目录。

同步

右键点击左侧边栏(Explorer)中的hello.py,可以看到SFTP插件相关的功能:上传(Upload)、下载(Download)以及和远端的文件对比(Diff with Remote)等等。

另外,如果在配置时打开启了uploadOnSave(如前图所示)选项,则本地文件在保存时将会自动同步上传至云服务器。这个功能有利有弊:一般地,如果本地有和服务器端同样地运行代码的环境(如Linux/wsl下、docker中或者相同版本的python解释器等)推荐不开启这个功能,这样本地可以先测试下再手动上传;如果没有运行环境,开启是最方便的,保存后直接切换到终端运行即可。结合自己习惯综合设置即可。

运行

通过终端远程登陆云服务器,比如我们之前创建地Lighthouse实例,可以验证代码同步无误,试着运行吧。

运行代码不是本篇教程的重点,这里不赘述。我们的目标就是本地编辑,远端运行,因为这样既能最大地发挥本地编辑工具的个性化定制的优势,又能最大化利用远端云服务器的高性能运行环境以及灵活创建/销毁等资源管理的优势。我们的本地Windows主机甚至连Python(解释器)都没有安装,只编辑并保存代码。通过SFTP插件完成自动同步,整个流程是非常清晰且高效的。

四、SFTP协议

FTP(File Transfer Protocol, 文件传输协议)相比你不会陌生,它是一个在不同系统间传输文件的主流且传统的方法。而SFTP(SSH File Transfer Protocol, 或者Secure File Transfer Protocol)是一个在SSH协议之上的类似协议,在可靠的数据流(目前是TLS加密数据流)之上提供文件访问、传输和管理等工作。SFTP的好处简单地说就是更加安全,因为它利用了SSH地安全连接。

目前,SFTP已经在大多数场景下基本替代了FTP,而传统的FTP则应该被限制使用在可信的内部网络中。在我们和公有云上的云服务器交互的场景中,所有信息通过公网传输,通过SFTP来加强访问安全性几乎是个必选项。默认情况下,SFTP通过SSH协议来认证双方身份以及建立安全连接,所以能在SSH协议中使用的认证方法也都可以在SFTP中适用,如密码或密钥。

相比FTP,SFTP可以上传文件时保留更多的文件属性(如修改时间戳等),也是一个优势。

另外,SFTP已经被实现为SSHv2的子系统,无需在服务器端启动另外的服务进程,非常方便。注意这点和FTP很不一样,FTP是要在服务器端启动服务并占用特殊端口(通常25)。我们的云服务器相当于SFTP的Server,我们本地的SFTP插件其实就是SFTP的Client,上传/下载的概念也很直接。

写在最后

本教程通过Lighthouse在腾讯云上创建服务器实例登录连接,并通过Visual Studio Code的SFTP插件自动同步本地代码,从此再也不必担心Win10系统不兼容的问题了。

本文参考来源:腾讯云计算产品团队

相关推荐

oracle数据导入导出_oracle数据导入导出工具

关于oracle的数据导入导出,这个功能的使用场景,一般是换服务环境,把原先的oracle数据导入到另外一台oracle数据库,或者导出备份使用。只不过oracle的导入导出命令不好记忆,稍稍有点复杂...

继续学习Python中的while true/break语句

上次讲到if语句的用法,大家在微信公众号问了小编很多问题,那么小编在这几种解决一下,1.else和elif是子模块,不能单独使用2.一个if语句中可以包括很多个elif语句,但结尾只能有一个...

python continue和break的区别_python中break语句和continue语句的区别

python中循环语句经常会使用continue和break,那么这2者的区别是?continue是跳出本次循环,进行下一次循环;break是跳出整个循环;例如:...

简单学Python——关键字6——break和continue

Python退出循环,有break语句和continue语句两种实现方式。break语句和continue语句的区别:break语句作用是终止循环。continue语句作用是跳出本轮循环,继续下一次循...

2-1,0基础学Python之 break退出循环、 continue继续循环 多重循

用for循环或者while循环时,如果要在循环体内直接退出循环,可以使用break语句。比如计算1至100的整数和,我们用while来实现:sum=0x=1whileTrue...

Python 中 break 和 continue 傻傻分不清

大家好啊,我是大田。...

python中的流程控制语句:continue、break 和 return使用方法

Python中,continue、break和return是控制流程的关键语句,用于在循环或函数中提前退出或跳过某些操作。它们的用途和区别如下:1.continue(跳过当前循环的剩余部分,进...

L017:continue和break - 教程文案

continue和break在Python中,continue和break是用于控制循环(如for和while)执行流程的关键字,它们的作用如下:1.continue:跳过当前迭代,...

作为前端开发者,你都经历过怎样的面试?

已经裸辞1个月了,最近开始投简历找工作,遇到各种各样的面试,今天分享一下。其实在职的时候也做过面试官,面试官时,感觉自己问的问题很难区分候选人的能力,最好的办法就是看看候选人的github上的代码仓库...

面试被问 const 是否不可变?这样回答才显功底

作为前端开发者,我在学习ES6特性时,总被const的"善变"搞得一头雾水——为什么用const声明的数组还能push元素?为什么基本类型赋值就会报错?直到翻遍MDN文档、对着内存图反...

2023金九银十必看前端面试题!2w字精品!

导文2023金九银十必看前端面试题!金九银十黄金期来了想要跳槽的小伙伴快来看啊CSS1.请解释CSS的盒模型是什么,并描述其组成部分。...

前端面试总结_前端面试题整理

记得当时大二的时候,看到实验室的学长学姐忙于各种春招,有些收获了大厂offer,有些还在苦苦面试,其实那时候的心里还蛮忐忑的,不知道自己大三的时候会是什么样的一个水平,所以从19年的寒假放完,大二下学...

由浅入深,66条JavaScript面试知识点(七)

作者:JakeZhang转发链接:https://juejin.im/post/5ef8377f6fb9a07e693a6061目录...

2024前端面试真题之—VUE篇_前端面试题vue2020及答案

添加图片注释,不超过140字(可选)...

今年最常见的前端面试题,你会做几道?

在面试或招聘前端开发人员时,期望、现实和需求之间总是存在着巨大差距。面试其实是一个交流想法的地方,挑战人们的思考方式,并客观地分析给定的问题。可以通过面试了解人们如何做出决策,了解一个人对技术和解决问...