目前 上关于腾讯云Lighthouse的教程很多,不过大部分基于Linux/Mac环境下操作的,如何在Windows下进行操作呢?
一、开始准备服务器
腾讯云轻量应用服务器(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主机后执行命令:
Windows10上安装VSCode也非常容易,官 直接下载即可。这里注意有两种安装选择,UserInstaller和System Installer,它们分别安装在用户主目录(类似C:UsersBrookeAppData)和系统目录下(类似C:Program Files(x86)),单用户使用起来几乎没有区别,根据偏好选择即可。下图是安装界面,添加到PATH中哦我们可以通过code命令打开VSCode。
2020年10月刚刚发布了1.51版本,这次又新加了不少功能如更清晰的固定选项卡、可调整的智能补全窗口、更优化的终端及代码版本控制等等。
其实,VSCode下也有自带的terminal,按Ctrl+`即可打开,个人感觉它在Linux/MacOS下,相比Windows使用上更方便一些。在Windows10下,可以试试结合wsl或gitbash一起使用,使用起来,效果也还可以。但总体体验还是不如上一节的termius。
三、插件远端同步代码
上一节中,我们通过VSCode打开目录并创建了代码文件,我们接下来需要将代码同步至远端服务器,并运行。我们这里使用SFTP插件。
安装
打开扩展插件(Extendions)搜索面板,快捷键Ctrl+Shift+X,搜索SFTP,如图安装。
配置
注意:SFTP必须运行在项目目录中,所以需要先通过open folder打开对应的项目目录。
同步
右键点击左侧边栏(Explorer)中的hello.py,可以看到SFTP插件相关的功能:上传(Upload)、下载(Download)以及和远端的文件对比(Diff with Remote)等等。
另外,如果在配置时打开启了uploadOnSave(如前图所示)选项,则本地文件在保存时将会自动同步上传至云服务器。这个功能有利有弊:一般地,如果本地有和服务器端同样地运行代码的环境(如Linux/wsl下、docker中或者相同版本的python解释器等)推荐不开启这个功能,这样本地可以先测试下再手动上传;如果没有运行环境,开启是最方便的,保存后直接切换到终端运行即可。结合自己习惯综合设置即可。
运行
通过终端远程登陆云服务器,比如我们之前创建地Lighthouse实例,可以验证代码同步无误,试着运行吧。
四、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系统不兼容的问题了。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!