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

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

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

目前网上关于腾讯云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系统不兼容的问题了。

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

相关推荐

redis的八种使用场景

前言:redis是我们工作开发中,经常要打交道的,下面对redis的使用场景做总结介绍也是对redis举报的功能做梳理。缓存Redis最常见的用途是作为缓存,用于加速应用程序的响应速度。...

基于Redis的3种分布式ID生成策略

在分布式系统设计中,全局唯一ID是一个基础而关键的组件。随着业务规模扩大和系统架构向微服务演进,传统的单机自增ID已无法满足需求。高并发、高可用的分布式ID生成方案成为构建可靠分布式系统的必要条件。R...

基于OpenWrt系统路由器的模式切换与网页设计

摘要:目前商用WiFi路由器已应用到多个领域,商家通过给用户提供一个稳定免费WiFi热点达到吸引客户、提升服务的目标。传统路由器自带的Luci界面提供了工厂模式的Web界面,用户可通过该界面配置路...

这篇文章教你看明白 nginx-ingress 控制器

主机nginx一般nginx做主机反向代理(网关)有以下配置...

如何用redis实现注册中心

一句话总结使用Redis实现注册中心:服务注册...

爱可可老师24小时热门分享(2020.5.10)

No1.看自己以前写的代码是种什么体验?No2.DooM-chip!国外网友SylvainLefebvre自制的无CPU、无操作码、无指令计数器...No3.我认为CS学位可以更好,如...

Apportable:拯救程序员,IOS一秒变安卓

摘要:还在为了跨平台使用cocos2d-x吗,拯救objc程序员的奇葩来了,ApportableSDK:FreeAndroidsupportforcocos2d-iPhone。App...

JAVA实现超买超卖方案汇总,那个最适合你,一篇文章彻底讲透

以下是几种Java实现超买超卖问题的核心解决方案及代码示例,针对高并发场景下的库存扣减问题:方案一:Redis原子操作+Lua脚本(推荐)//使用Redis+Lua保证原子性publicbo...

3月26日更新 快速施法自动施法可独立设置

2016年3月26日DOTA2有一个79.6MB的更新主要是针对自动施法和快速施法的调整本来内容不多不少朋友都有自动施法和快速施法的困扰英文更新日志一些视觉BUG修复就不翻译了主要翻译自动施...

Redis 是如何提供服务的

在刚刚接触Redis的时候,最想要知道的是一个’setnameJhon’命令到达Redis服务器的时候,它是如何返回’OK’的?里面命令处理的流程如何,具体细节怎么样?你一定有问过自己...

lua _G、_VERSION使用

到这里我们已经把lua基础库中的函数介绍完了,除了函数外基础库中还有两个常量,一个是_G,另一个是_VERSION。_G是基础库本身,指向自己,这个变量很有意思,可以无限引用自己,最后得到的还是自己,...

China's top diplomat to chair third China-Pacific Island countries foreign ministers' meeting

BEIJING,May21(Xinhua)--ChineseForeignMinisterWangYi,alsoamemberofthePoliticalBureau...

移动工作交流工具Lua推出Insights数据分析产品

Lua是一个适用于各种职业人士的移动交流平台,它在今天推出了一项叫做Insights的全新功能。Insights是一个数据平台,客户可以在上面实时看到员工之间的交流情况,并分析这些情况对公司发展的影响...

Redis 7新武器:用Redis Stack实现向量搜索的极限压测

当传统关系型数据库还在为向量相似度搜索的性能挣扎时,Redis7的RedisStack...

Nginx/OpenResty详解,Nginx Lua编程,重定向与内部子请求

重定向与内部子请求Nginx的rewrite指令不仅可以在Nginx内部的server、location之间进行跳转,还可以进行外部链接的重定向。通过ngx_lua模块的Lua函数除了能实现Nginx...